﻿:root {
  --app-font: "Aptos", "Segoe UI Variable", "Segoe UI", -apple-system, BlinkMacSystemFont, sans-serif;
  --bg: #1e1e1e;
  --panel: #ffffff;
  --app-bg: #f4f8fa;
  --ink: #1e1e1e;
  --muted: #616462;
  --line: #d8e2e6;
  --brand: #0f8fb5;
  --brand-dark: #075985;
  --manaforge-highlight: #22d3ee;
  --manaforge-aqua: #99f6e4;
  --green: #1a9d6b;
  --green-bg: #e6f6ef;
  --teal: #0f766e;
  --amber: #0ea5e9;
  --amber-bg: #e0f7ff;
  --red: #d1453b;
  --red-bg: #fdeceb;
  --shadow: 0 1px 3px rgba(20,30,50,.08), 0 6px 24px rgba(20,30,50,.05);
  --radius: 12px;
}

/* MFG next-level dashboard cockpit */
.cockpit-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}
.cockpit-tile {
  min-height: 96px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
  color: var(--ink);
  box-shadow: var(--shadow);
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  text-align: left;
  cursor: pointer;
}
.cockpit-tile:hover,
.cockpit-tile:focus-visible {
  border-color: var(--brand);
  background: var(--hover-bg);
  box-shadow: var(--focus-ring);
}
.cockpit-tile.pos { border-left: 5px solid var(--green); }
.cockpit-tile.warn { border-left: 5px solid var(--amber); }
.cockpit-tile.neg { border-left: 5px solid var(--red); }
.cockpit-ring {
  width: 44px;
  height: 44px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: conic-gradient(currentColor calc(var(--ring, 0) * 1%), color-mix(in srgb, var(--line) 72%, transparent) 0);
  color: var(--brand);
  position: relative;
}
.cockpit-tile.pos .cockpit-ring { color: var(--green); }
.cockpit-tile.warn .cockpit-ring { color: var(--amber); }
.cockpit-tile.neg .cockpit-ring { color: var(--red); }
.cockpit-ring::after {
  content: "";
  position: absolute;
  inset: 5px;
  border-radius: inherit;
  background: var(--panel);
}
.cockpit-ring i {
  position: relative;
  z-index: 1;
  font-style: normal;
  font-weight: 850;
  font-size: 14px;
}
.cockpit-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.cockpit-copy em {
  color: var(--muted);
  font-size: 10.5px;
  font-style: normal;
  font-weight: 850;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.cockpit-copy strong {
  color: var(--ink);
  font-size: 16px;
  line-height: 1.1;
  overflow-wrap: anywhere;
}
.cockpit-copy b {
  color: var(--muted);
  font-size: 11px;
  font-weight: 650;
  line-height: 1.25;
}

.growth-funding-page {
  display: grid;
  gap: 16px;
}
.funding-summary-band {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 18px 20px;
  border: 1px solid var(--line);
  background: var(--panel);
  border-radius: 8px;
}
.funding-summary-band span,
.funding-metric span,
.funding-assumption-grid label span {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.funding-summary-band h2 {
  margin: 4px 0 6px;
  font-size: 22px;
  line-height: 1.2;
}
.funding-summary-band p {
  margin: 0;
  color: var(--muted);
}
.funding-metric-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}
.funding-metric {
  min-height: 118px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
  color: var(--ink);
  text-align: left;
  padding: 14px;
  cursor: pointer;
}
.funding-metric:hover,
.funding-metric:focus-visible {
  border-color: var(--brand);
  background: var(--hover-bg);
  box-shadow: var(--focus-ring);
}
.funding-metric strong {
  display: block;
  margin-top: 8px;
  color: var(--ink);
  font-size: 23px;
  line-height: 1.1;
  overflow-wrap: anywhere;
}
.funding-metric em {
  display: block;
  margin-top: 8px;
  color: var(--muted);
  font-style: normal;
  font-size: 12px;
  line-height: 1.35;
}
.funding-metric.pos strong { color: var(--green); }
.funding-metric.warn strong { color: var(--amber); }
.funding-metric.neg strong { color: var(--red); }
.funding-owner-grid,
.funding-table-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 14px;
}
.funding-answer p {
  margin: 0 0 12px;
  line-height: 1.5;
}
.funding-current-health dl,
.funding-mini-list {
  display: grid;
  grid-template-columns: minmax(160px, .8fr) minmax(0, 1fr);
  gap: 8px 14px;
  margin: 0;
}
.funding-current-health dt,
.funding-mini-list dt {
  color: var(--muted);
  font-weight: 750;
}
.funding-current-health dd,
.funding-mini-list dd {
  margin: 0;
  color: var(--ink);
  font-weight: 850;
}
.funding-current-health small {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-weight: 500;
}
.funding-assumption-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}
.funding-assumption-grid label {
  display: grid;
  gap: 5px;
}
.funding-assumption-grid input {
  width: 100%;
}
.funding-toggle {
  align-content: end;
}
.funding-toggle input {
  width: auto;
  justify-self: start;
  min-height: 24px;
}
.funding-scenario-table td:first-child {
  text-align: left;
}
.funding-scenario-table td:first-child span {
  display: block;
  margin-top: 3px;
  font-size: 12px;
}
.funding-chart-scroll {
  overflow-x: auto;
}
.funding-cash-svg {
  min-width: 880px;
  width: 100%;
  height: 280px;
}
.funding-cash-svg .zero {
  stroke: var(--line);
  stroke-width: 1.5;
}
.funding-cash-svg polyline {
  fill: none;
  stroke-width: 3;
}
.funding-cash-svg .unfunded {
  stroke: var(--red);
  stroke-dasharray: 7 5;
}
.funding-cash-svg .funded {
  stroke: var(--green);
}
.funding-cash-svg circle {
  fill: var(--green);
}
.funding-cash-svg text {
  fill: var(--muted);
  font-size: 11px;
}
.funding-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  color: var(--muted);
  font-size: 12px;
}
.funding-legend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.funding-legend i {
  width: 20px;
  height: 3px;
  border-radius: 999px;
  background: var(--muted);
}
.funding-legend i.unfunded { background: var(--red); }
.funding-legend i.funded { background: var(--green); }
.funding-legend i.reserve { background: var(--amber); }
.funding-proof-drawer .metric-modal-primary {
  margin-bottom: 14px;
}

@media (max-width: 1100px) {
  .funding-metric-grid,
  .funding-assumption-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .funding-owner-grid,
  .funding-table-grid {
    grid-template-columns: 1fr;
  }
}

/* Compact first-hit owner dashboard. */
.owner-command-strip {
  display: grid;
  grid-template-columns: minmax(560px, .92fr) minmax(500px, 1.08fr);
  gap: 12px;
  align-items: stretch;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.owner-command-strip.neg {
  background: #fff;
}
.owner-command-strip.warn {
  background: #fff;
}
.owner-command-strip.pos {
  background: #fff;
}
.owner-command-left {
  display: grid;
  gap: 10px;
  align-content: stretch;
  min-width: 0;
  height: 100%;
}
.owner-card-eyebrow,
.owner-command-strip .owner-growth-read span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: uppercase;
}
.owner-card-icon {
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  font-style: normal;
  font-weight: 700;
  line-height: 1;
}
.owner-command-kpis {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(3, minmax(0, 1fr));
  align-content: stretch;
  gap: 8px;
  height: 100%;
}
.owner-command-kpis > .owner-question-card {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) minmax(92px, auto);
  grid-template-areas:
    "icon flag amount"
    "icon title amount"
    "proof proof proof"
    "driver driver driver";
  gap: 6px 10px;
  align-items: start;
  min-width: 0;
  min-height: 116px;
  overflow: hidden;
  padding: 11px 12px;
  position: relative;
  border: 1px solid #dbe5f1;
  border-radius: 7px;
  background: #fff;
  box-shadow: none;
}
.owner-command-kpis .owner-question-card {
  --card-accent: #475569;
}
.owner-question-card.neg {
  --card-accent: #b42318;
}
.owner-question-card.warn {
  --card-accent: #b54708;
}
.owner-question-card.pos {
  --card-accent: #067647;
}
.owner-question-card.info {
  --card-accent: #2563eb;
}
.owner-question-card.neutral {
  --card-accent: #475467;
}
button.owner-question-card {
  appearance: none;
  color: inherit;
  cursor: pointer;
  font: inherit;
  text-align: left;
}
button.owner-question-card:hover,
button.owner-question-card:focus-visible {
  border-color: #adc3df;
  background: #fbfdff;
  outline: none;
}
.owner-question-card[data-card-kind="cash"] {
  --card-accent: #b42318;
}
.owner-question-card[data-card-kind="cash"].pos {
  --card-accent: #067647;
}
.owner-question-card[data-card-kind="squeeze"] {
  --card-accent: #2563eb;
}
.owner-question-card[data-card-kind="growth"] {
  --card-accent: #b54708;
}
.owner-question-card[data-card-kind="buy"] {
  --card-accent: #067647;
}
.owner-question-card[data-card-kind="review"] {
  --card-accent: #b54708;
}
.owner-card-index {
  display: none;
}
.owner-card-eyebrow {
  color: #64748b;
  line-height: 1;
}
.owner-card-kind-icon {
  grid-area: icon;
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border: 1px solid #e5edf6;
  border-radius: 7px;
  background: #fbfdff;
  color: var(--card-accent);
}
.owner-card-kind-icon svg {
  width: 14px;
  height: 14px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.owner-card-summary,
.owner-card-flag,
.owner-card-amount,
.owner-card-when,
.owner-card-driver {
  min-width: 0;
  overflow: hidden;
  line-height: 1.16;
  text-overflow: ellipsis;
}
.owner-card-summary {
  grid-area: title;
  color: #101828;
  display: -webkit-box;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.owner-card-flag {
  grid-area: flag;
  color: #667085;
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
  white-space: nowrap;
}
.owner-card-priority-icon {
  position: absolute;
  right: 10px;
  bottom: 9px;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border: 1px solid #d8e3f0;
  border-radius: 999px;
  background: #f8fafc;
  color: #475467;
  cursor: help;
}
.owner-card-priority-icon svg {
  width: 14px;
  height: 14px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.owner-card-priority-icon::after {
  position: absolute;
  right: -1px;
  bottom: 28px;
  display: none;
  width: min(260px, 58vw);
  padding: 9px 10px;
  border: 1px solid #d8e3f0;
  border-radius: 8px;
  background: #101828;
  color: #fff;
  content: attr(data-help);
  font-size: 11px;
  font-weight: 650;
  line-height: 1.3;
  text-align: left;
  text-transform: none;
  white-space: normal;
  box-shadow: 0 10px 24px rgba(16, 24, 40, .18);
}
.owner-card-priority-icon:hover::after {
  display: block;
}
.owner-question-card:focus-visible .owner-card-priority-icon::after {
  display: block;
}
.owner-card-amount {
  grid-area: amount;
  color: #101828;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0;
  text-align: right;
  white-space: nowrap;
}
.owner-question-card[data-card-kind="cash"].neg .owner-card-amount {
  color: #b42318;
}
.owner-question-card[data-card-kind="cash"].pos .owner-card-amount {
  color: #067647;
}
.owner-question-card[data-card-kind="squeeze"] .owner-card-amount {
  color: #1d4ed8;
}
.owner-question-card[data-card-kind="growth"] .owner-card-amount {
  color: #b54708;
}
.owner-question-card[data-card-kind="buy"] .owner-card-amount,
.owner-question-card[data-card-kind="review"] .owner-card-amount {
  font-size: 15px;
}
.owner-card-when {
  grid-area: proof;
  color: #475467;
  font-size: 11px;
  font-weight: 600;
}
.owner-card-driver {
  grid-area: driver;
  color: #344054;
  font-size: 11px;
  font-weight: 680;
  line-height: 1.25;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: normal;
}
.owner-card-proof-pills {
  grid-area: proof;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px 10px;
  min-width: 0;
  align-self: end;
  padding-top: 6px;
  border-top: 1px solid #edf2f7;
}
.owner-card-proof-pills b {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 6px;
  align-items: center;
  max-width: 100%;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #667085;
  font-size: 10px;
  font-weight: 650;
  line-height: 1.1;
  text-transform: uppercase;
  white-space: nowrap;
}
.owner-card-proof-pills b:nth-child(n+5) {
  display: none;
}
.owner-card-proof-pills b.warn {
  color: #075985;
}
.owner-card-proof-pills strong {
  color: #101828;
  font-size: 10px;
  font-weight: 650;
  text-transform: none;
  text-align: right;
}
.owner-card-proof-pills span {
  overflow: hidden;
  text-overflow: ellipsis;
}
.owner-card-copy {
  display: grid;
  gap: 1px;
  min-width: 0;
}
.owner-card-copy em {
  overflow: hidden;
  color: #667085;
  font-size: 11px;
  font-style: normal;
  font-weight: 600;
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.owner-card-value {
  overflow: hidden;
  color: #101828;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.05;
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.owner-question-card[data-card-kind="cash"] .owner-card-value,
.owner-question-card[data-card-kind="squeeze"] .owner-card-value {
  color: #101828;
  font-size: 17px;
  font-weight: 700;
}
.owner-question-card[data-card-kind="cash"].neg .owner-card-value {
  color: #b42318;
}
.owner-question-card[data-card-kind="cash"].pos .owner-card-value,
.owner-question-card[data-card-kind="squeeze"].pos .owner-card-value {
  color: #067647;
}
.owner-question-card[data-card-kind="squeeze"].warn .owner-card-value {
  color: #b54708;
}
.owner-question-card[data-card-kind="buy"] .owner-card-value,
.owner-question-card[data-card-kind="review"] .owner-card-value {
  color: #101828;
  font-size: 17px;
  font-weight: 700;
}
.owner-question-card[data-card-kind="buy"] .owner-card-foot b {
  color: #2563eb;
}
.owner-question-card[data-card-kind="review"] .owner-card-foot b {
  color: #7c3aed;
}
.owner-card-proof {
  grid-column: auto;
  display: grid;
  grid-template-columns: minmax(56px, 1fr) auto;
  gap: 6px;
  align-items: center;
  min-width: 0;
  align-self: end;
}
.owner-card-meter,
.owner-card-dualbar {
  display: grid;
  gap: 4px;
  min-width: 0;
}
.owner-card-meter {
  height: 2px;
  overflow: hidden;
  border-radius: 999px;
  background: #e5edf6;
}
.owner-card-meter i,
.owner-card-dualbar i {
  display: block;
  width: var(--w);
  border-radius: inherit;
  background: linear-gradient(90deg, var(--card-bar), rgba(148, 163, 184, .64));
}
.owner-card-meter i {
  height: 100%;
}
.owner-card-dualbar i {
  height: 2px;
}
.owner-card-dualbar i + i {
  background: linear-gradient(90deg, var(--card-bar-2), rgba(203, 213, 225, .8));
}
.owner-card-foot {
  display: flex;
  gap: 4px;
  align-items: center;
  justify-content: flex-end;
  min-width: 0;
  color: var(--muted);
  font-size: 10px;
}
.owner-card-foot span {
  overflow: hidden;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}
.owner-card-foot b {
  overflow: hidden;
  color: #101828;
  font-size: 10px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.owner-signal-card {
  display: grid;
  gap: 7px;
  min-width: 0;
  border: 1px solid #e5edf6;
  border-radius: 8px;
  background: #fff;
  padding: 9px 10px;
}
.owner-signal-card.additional {
  align-self: stretch;
  height: 100%;
  gap: 6px;
  padding: 8px;
}
.owner-signal-card.neg {
  border-left: 4px solid #b42318;
}
.owner-signal-card.warn {
  border-left: 4px solid #b54708;
}
.owner-signal-card.pos {
  border-left: 4px solid #067647;
}
.owner-signal-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 6px;
  align-items: baseline;
}
.owner-signal-head span,
.owner-signal-legend span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 650;
  letter-spacing: 0;
  text-transform: uppercase;
}
.owner-signal-head strong {
  overflow: hidden;
  color: var(--ink);
  font-size: 13px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.owner-signal-head em {
  color: #7c3f0a;
  font-size: 10px;
  font-style: normal;
  font-weight: 600;
}
.owner-signal-split {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.owner-signal-split b {
  min-width: 0;
  border-top: 2px solid #d7e3f1;
  border-radius: 0;
  background: transparent;
  color: #344054;
  padding: 4px 0 0;
  font-size: 10px;
  line-height: 1;
  text-align: center;
}
.owner-signal-split b.neg {
  background: transparent;
  color: #344054;
}
.owner-signal-split b.warn {
  background: transparent;
  color: #344054;
}
.owner-signal-split b.pos {
  background: transparent;
  color: #344054;
}
.owner-signal-months {
  display: grid;
  gap: 2px;
}
.owner-signal-month {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) 58px;
  gap: 5px;
  align-items: center;
}
.owner-signal-month b {
  color: var(--muted);
  font-size: 9.5px;
}
.owner-signal-bars {
  display: grid;
  gap: 1px;
}
.owner-signal-bars i,
.owner-signal-legend i {
  display: block;
  height: 4px;
  border-radius: 999px;
}
.owner-signal-bars .sales,
.owner-signal-legend .sales {
  background: #c9d7e8;
}
.owner-signal-bars .cashout,
.owner-signal-legend .cashout {
  background: #d9c3a1;
}
.owner-signal-month strong {
  font-size: 10px;
  text-align: right;
}
.owner-signal-month strong.neg,
.owner-signal-month strong.pos { color: var(--ink); }
.owner-signal-bridge {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}
.owner-signal-bridge span {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 2px 7px;
  align-items: center;
  min-width: 0;
  border: 1px solid #dbe5f1;
  border-left: 3px solid #64748b;
  border-radius: 7px;
  background: #fff;
  padding: 7px 8px;
}
.owner-signal-bridge span.sales {
  border-left-color: #2563eb;
}
.owner-signal-bridge span.spend {
  border-left-color: #b54708;
}
.owner-signal-bridge span.gap {
  border-left-color: #7c3aed;
}
.owner-signal-bridge i,
.owner-signal-insight i {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 7px;
  background: #f8fafc;
  color: #64748b;
}
.owner-signal-bridge .sales i {
  background: #eff6ff;
  color: #2563eb;
}
.owner-signal-bridge .spend i {
  background: #f0fbfd;
  color: #b54708;
}
.owner-signal-bridge .gap i {
  background: #f5f3ff;
  color: #7c3aed;
}
.owner-signal-bridge svg,
.owner-signal-insight svg {
  width: 14px;
  height: 14px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.owner-signal-bridge b {
  overflow: hidden;
  color: var(--muted);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}
.owner-signal-bridge strong {
  grid-column: 2;
  color: var(--ink);
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
}
.owner-signal-bridge em {
  grid-column: 2;
  overflow: hidden;
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 600;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.owner-signal-legend {
  display: flex;
  gap: 7px;
  align-items: center;
}
.owner-signal-legend i {
  display: inline-block;
  width: 16px;
  margin-right: 4px;
  vertical-align: 1px;
}
.owner-signal-insights {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding-top: 4px;
  border-top: 1px solid #e5edf6;
}
.owner-product-proof-table {
  display: grid;
  gap: 0;
  overflow: hidden;
  border: 1px solid #e5edf6;
  border-radius: 8px;
  background: #fff;
}
.owner-product-proof-row {
  display: grid;
  grid-template-columns: minmax(92px, 1.25fr) repeat(2, minmax(42px, .48fr)) minmax(70px, .68fr) repeat(2, minmax(54px, .58fr)) minmax(58px, .55fr);
  gap: 4px;
  align-items: center;
  min-width: 0;
  padding: 7px 8px;
  border: 0;
  border-top: 1px solid #edf2f7;
  background: #fff;
  color: inherit;
  font: inherit;
  text-align: left;
}
button.owner-product-proof-row {
  cursor: pointer;
}
.owner-product-proof-row.head {
  border-top: 0;
  background: #f8fafc;
}
.owner-product-proof-row:hover,
.owner-product-proof-row:focus-visible {
  background: #fbfdff;
  outline: none;
}
.owner-product-proof-row span,
.owner-product-proof-row b,
.owner-product-proof-row strong {
  min-width: 0;
  overflow: hidden;
  font-size: 10.5px;
  line-height: 1.12;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.owner-product-proof-row.head span {
  color: #667085;
  font-size: 8px;
  font-weight: 750;
  text-transform: uppercase;
}
.owner-product-proof-row strong {
  color: #101828;
  font-weight: 750;
}
.owner-product-proof-row span:not(:first-child),
.owner-product-proof-row b {
  text-align: right;
}
.owner-product-proof-row b {
  font-weight: 750;
}
.owner-product-proof-row.win b {
  color: #067647;
}
.owner-product-proof-row.warn b {
  color: #b54708;
}
.owner-product-proof-row.idle {
  color: #667085;
  background: #fcfdff;
}
.owner-product-proof-row.idle strong,
.owner-product-proof-row.idle b {
  color: #667085;
}
.owner-signal-insight {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 4px 8px;
  align-items: start;
  min-height: 166px;
  min-width: 0;
  border: 1px solid #dbe5f1;
  border-left: 3px solid #d0d5dd;
  border-radius: 8px;
  background: #fff;
  padding: 10px 11px;
  color: inherit;
  cursor: pointer;
  font: inherit;
  text-align: left;
}
.owner-signal-insight.win {
  border-left-color: #067647;
}
.owner-signal-insight.win i {
  background: #ecfdf3;
  color: #067647;
}
.owner-signal-insight.pressure i {
  background: #f8fafc;
  color: #667085;
}
.owner-signal-insight:hover,
.owner-signal-insight:focus-visible {
  border-color: #adc3df;
  background: #fbfdff;
  outline: none;
}
.owner-signal-insight > span {
  grid-column: 2;
  overflow: hidden;
  color: var(--muted);
  font-size: 9.5px;
  font-weight: 650;
  letter-spacing: 0;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}
.owner-signal-insight > strong {
  grid-column: 2;
  display: -webkit-box;
  overflow: hidden;
  color: var(--ink);
  font-size: 13.5px;
  font-weight: 700;
  line-height: 1.18;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.owner-signal-insight > em {
  grid-column: 2;
  color: #075985;
  font-size: 12px;
  font-style: normal;
  font-weight: 650;
  line-height: 1;
}
.owner-signal-insight > small {
  grid-column: 2;
  overflow: hidden;
  color: #667085;
  font-size: 10px;
  font-weight: 600;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.owner-signal-insight.win em {
  color: #067647;
}
.owner-demand-bars {
  grid-column: 1 / -1;
  display: grid;
  gap: 7px;
  margin-top: 6px;
  padding: 8px 9px;
  border: 1px solid #e5edf6;
  border-radius: 8px;
  background: #fcfdff;
}
.owner-demand-bars span {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) 42px;
  gap: 8px;
  align-items: center;
  min-width: 0;
}
.owner-demand-bars b {
  color: #667085;
  font-size: 9.5px;
  font-weight: 650;
  text-transform: uppercase;
}
.owner-demand-bars i {
  display: block;
  width: var(--w);
  max-width: 100%;
  height: 7px;
  border-radius: 999px;
  background: #d9e2f1;
}
.owner-demand-bars span:nth-child(2) i {
  background: #f6b26b;
}
.owner-demand-bars strong {
  color: var(--ink);
  font-size: 11px;
  font-weight: 700;
  text-align: right;
}
.owner-demand-bars em {
  justify-self: end;
  color: #667085;
  font-size: 10px;
  font-style: normal;
  font-weight: 700;
  line-height: 1;
  text-transform: uppercase;
}
.owner-demand-mini {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
  align-items: center;
  padding-top: 2px;
  border-top: 1px solid #edf2f7;
}
.owner-demand-mini b {
  display: inline-flex;
  gap: 4px;
  align-items: baseline;
  min-width: 0;
  color: #667085;
  font-size: 9.5px;
  font-weight: 650;
  line-height: 1;
  text-transform: uppercase;
}
.owner-demand-mini strong {
  color: #101828;
  font-size: 10px;
  font-weight: 700;
}
.owner-demand-bars em.warn {
  color: #b54708;
}
.owner-demand-bars em.win {
  color: #067647;
}
.owner-signal-proof {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px;
  margin-top: 3px;
  padding-top: 6px;
  border-top: 1px solid #e8eef6;
}
.owner-signal-proof div {
  display: grid;
  gap: 1px;
  min-width: 0;
  padding: 5px 6px;
  border: 1px solid #e5edf6;
  border-radius: 6px;
  background: #fbfdff;
}
.owner-signal-proof b {
  overflow: hidden;
  color: #667085;
  font-size: 9px;
  font-weight: 600;
  line-height: 1.05;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}
.owner-signal-proof strong {
  overflow: hidden;
  color: #101828;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.owner-signal-proof div.warn strong {
  color: #b54708;
}
.owner-signal-proof div.win strong {
  color: #067647;
}
.owner-command-strip .owner-growth-context.compact {
  padding: 0;
  border: 0;
  background: transparent;
}
.owner-command-strip .owner-growth-read {
  display: grid;
  grid-template-columns: auto auto 1fr;
  gap: 8px;
  margin-bottom: 6px;
}
.owner-command-strip .owner-growth-read strong {
  color: var(--red);
  font-size: 16px;
  line-height: 1;
}
.owner-command-strip .owner-growth-read em {
  overflow: hidden;
  color: var(--muted);
  font-size: 11.5px;
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.owner-command-strip .owner-growth-bars {
  gap: 4px;
}
.owner-command-strip .owner-growth-month {
  grid-template-columns: 58px minmax(90px, 1fr) 86px;
  gap: 7px;
}
.owner-command-strip .owner-growth-month div {
  min-height: 18px;
}
.owner-command-strip .owner-growth-month b {
  padding: 3px 6px;
  font-size: 10.5px;
}
.owner-command-strip .owner-growth-month strong {
  font-size: 11px;
}
.owner-command-strip .owner-growth-legend {
  gap: 8px;
  margin-top: 6px;
}
.owner-command-strip .owner-growth-legend span {
  font-size: 10.5px;
}
.owner-command-plan {
  grid-column: 1 / -1;
  min-width: 0;
  padding: 10px;
  border: 1px solid #dbe5f1;
  border-radius: 8px;
  background: #fbfdff;
}
.owner-command-plan .owner-plan-picker {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
  align-items: end;
}
.owner-command-plan .owner-plan-picker label {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 4px;
  font-size: 10.5px;
}
.owner-command-plan .owner-plan-picker label span {
  display: grid;
  gap: 1px;
}
.owner-command-plan .owner-plan-picker label em {
  color: var(--muted);
  font-size: 9px;
  font-style: normal;
  font-weight: 650;
  text-transform: none;
}
.owner-command-plan .owner-plan-picker input,
.owner-command-plan .owner-plan-picker select {
  width: 100%;
  padding: 5px 7px;
  font-variant-numeric: tabular-nums;
  line-height: 1.15;
}
.owner-command-plan .owner-plan-picker input {
  text-align: right;
}
.owner-command-plan .btn {
  min-height: 31px;
  padding: 6px 11px;
}
.owner-plan-actions {
  grid-column: span 1;
  display: flex;
  gap: 7px;
  align-items: center;
  justify-content: flex-start;
}
.owner-plan-actions .btn {
  white-space: nowrap;
}
.owner-model-connection {
  grid-column: span 3;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  min-width: 260px;
}
.owner-model-connection span {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 6px;
  align-items: center;
  min-width: 0;
  border: 1px solid #dbe5f1;
  border-radius: 999px;
  background: #f8fafc;
  padding: 5px 8px;
}
.owner-model-connection b {
  color: #667085;
  font-size: 9.5px;
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
}
.owner-model-connection strong {
  overflow: hidden;
  color: var(--ink);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.owner-expansion-calc {
  grid-column: span 3;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-areas:
    "label amount"
    "title amount"
    "proof proof";
  gap: 3px 10px;
  align-items: start;
  min-height: 70px;
  border: 1px solid #dbe5f1;
  border-radius: 7px;
  background: #fff;
  padding: 9px 10px;
  box-shadow: 0 1px 0 rgba(16, 24, 40, .03);
}
.owner-expansion-calc span {
  grid-area: label;
  color: #667085;
  font-size: 9.5px;
  font-weight: 800;
  line-height: 1;
  text-transform: uppercase;
}
.owner-expansion-calc b {
  grid-area: title;
  color: #667085;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.15;
}
.owner-expansion-calc strong {
  grid-area: amount;
  color: var(--ink);
  font-size: 19px;
  font-weight: 750;
  line-height: 1;
  white-space: nowrap;
}
.owner-expansion-calc em {
  grid-area: proof;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 6px;
  align-items: center;
  min-width: 0;
  padding-top: 6px;
  border-top: 1px solid #edf2f7;
  color: var(--muted);
  font-size: 10.5px;
  font-style: normal;
  font-weight: 650;
}
.owner-expansion-calc em i {
  overflow: hidden;
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.owner-expansion-calc em i:first-child {
  color: #075985;
  font-weight: 800;
}
.owner-command-strip .owner-proof-line {
  grid-column: 1 / -1;
  color: var(--muted);
  font-size: 11.5px;
}
.owner-proof-visual {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
}
.owner-proof-visual span {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 6px;
  align-items: center;
  min-width: 0;
  border: 1px solid #dbe5f1;
  border-radius: 8px;
  background: rgba(255, 255, 255, .72);
  padding: 7px 9px;
}
.owner-proof-visual b {
  overflow: hidden;
  color: var(--muted);
  font-size: 10px;
  font-weight: 700;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}
.owner-proof-visual strong {
  color: var(--ink);
  font-size: 13px;
  font-weight: 700;
}

@media (max-width: 1100px) {
  .owner-command-strip {
    grid-template-columns: 1fr;
  }
  .owner-command-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .owner-command-plan .owner-plan-picker {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .owner-model-connection,
  .owner-expansion-calc {
    grid-column: 1 / -1;
  }
}
@media (max-width: 1350px) {
  .owner-command-strip {
    grid-template-columns: 1fr;
  }
  .owner-signal-insights {
    grid-template-columns: minmax(0, 1fr);
  }
  .owner-signal-insight {
    min-height: 152px;
  }
  .owner-command-kpis {
    height: auto;
  }
  .owner-command-left,
  .owner-signal-card.additional {
    height: auto;
  }
}
@media (max-width: 720px) {
  .owner-command-kpis,
  .owner-proof-visual,
  .owner-command-plan .owner-plan-picker {
    grid-template-columns: 1fr;
  }
  .owner-summary-header {
    display: none;
  }
  .owner-command-kpis > .owner-question-card {
    grid-template-columns: 28px minmax(0, 1fr) auto;
    grid-template-areas:
      "icon flag amount"
      "icon title amount"
      "proof proof proof"
      "driver driver driver";
  }
  .owner-card-flag,
  .owner-card-when,
  .owner-card-driver {
    white-space: normal;
  }
  .owner-signal-head,
  .owner-signal-split,
  .owner-signal-insights,
  .owner-sales-bridge,
  .owner-scenario-read {
    grid-template-columns: 1fr;
  }
  .owner-signal-month {
    grid-template-columns: 42px minmax(0, 1fr) 56px;
  }
  .funding-summary-band {
    align-items: stretch;
    flex-direction: column;
  }
  .funding-metric-grid,
  .funding-assumption-grid,
  .funding-current-health dl,
  .funding-mini-list {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 1100px) {
  .cash-runway-decision-meta,
  .cash-runway-risk dl,
  .cash-runway-event-strip,
  .cash-runway-equation,
  .cash-runway-popup-grid {
    grid-template-columns: 1fr;
  }
  .cash-runway-event-row {
    grid-template-columns: 24px 48px minmax(0, 1fr) auto;
  }
  .cash-runway-event-row small {
    grid-column: 3 / -1;
  }
}
.product-map-panel { padding-bottom: 14px; }
.product-map-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 190px;
  gap: 14px;
  align-items: stretch;
}
.product-map-wrap {
  min-height: 360px;
  height: 360px;
}
.product-map-legend {
  border-left: 1px solid var(--line);
  padding-left: 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}
.product-map-legend span {
  display: flex;
  align-items: center;
  gap: 8px;
}
.legend-dot {
  width: 12px;
  height: 12px;
  border-radius: 999px;
  display: inline-block;
}
.legend-dot.hero { background: var(--green); }
.legend-dot.workhorse { background: var(--brand); }
.legend-dot.watch { background: var(--amber); }
.legend-dot.villain { background: var(--red); }
.legend-dot.unknown {
  background: var(--muted);
  border: 2px dotted var(--muted);
}
.legend-proof {
  margin-top: auto;
  padding: 10px;
  border: 1px dashed var(--line);
  border-radius: 8px;
  background: var(--panel-2);
}
.legend-proof b,
.legend-proof em {
  display: block;
}
.legend-proof em {
  margin-top: 3px;
  font-style: normal;
  font-weight: 550;
}
.status-chip,
.issue-chip,
.confidence-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border-radius: 999px;
  padding: 3px 8px;
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}
.status-chip i,
.issue-chip i {
  font-style: normal;
}
.status-chip.hero { background: var(--green-bg); color: var(--green); }
.status-chip.workhorse { background: var(--brand-soft); color: var(--brand-dark); }
.status-chip.watch { background: var(--amber-bg); color: var(--amber); }
.status-chip.villain { background: var(--red-bg); color: var(--red); }
.status-chip.unknown {
  background: var(--panel-2);
  color: var(--muted);
  border: 1px dashed var(--line);
}
.issue-chip.cash,
.issue-chip.margin { background: var(--red-bg); color: var(--red); }
.issue-chip.inventory,
.issue-chip.labor,
.issue-chip.pricing { background: var(--amber-bg); color: var(--amber); }
.issue-chip.mapping {
  background: var(--panel-2);
  color: var(--muted);
  border: 1px dashed var(--line);
}
.economics-grid,
.stress-assumption-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr);
  gap: 16px;
}
.waterfall-grid {
  display: grid;
  gap: 12px;
}
.waterfall-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel-2);
  padding: 10px;
}
.waterfall-title {
  width: 100%;
  border: 0;
  background: transparent;
  color: var(--ink);
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 0 8px;
  cursor: pointer;
}
.waterfall-title strong { font-size: 13px; }
.waterfall-title span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 750;
}
.waterfall-bars {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 6px;
  min-height: 132px;
  align-items: end;
}
.waterfall-step {
  min-width: 0;
  height: 128px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--panel);
  color: var(--ink);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: stretch;
  gap: 4px;
  padding: 6px;
  cursor: pointer;
}
.waterfall-step i {
  display: block;
  min-height: 5px;
  border-radius: 4px 4px 0 0;
  background: currentColor;
  opacity: .82;
}
.waterfall-step strong {
  font-size: 11px;
  line-height: 1.1;
  font-variant-numeric: tabular-nums;
}
.waterfall-step span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 750;
  line-height: 1.05;
  white-space: normal;
}
.waterfall-step.pos { color: var(--green); }
.waterfall-step.warn { color: var(--amber); }
.waterfall-step.neg { color: var(--red); }
.mix-stack {
  display: flex;
  flex-direction: column;
  gap: 13px;
}
.mix-row {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
}
.mix-row > span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
}
.mix-bar {
  height: 30px;
  border: 1px solid var(--line);
  border-radius: 7px;
  overflow: hidden;
  background: var(--panel-2);
  display: flex;
}
.mix-segment {
  min-width: 3%;
  border: 0;
  border-right: 1px solid color-mix(in srgb, var(--panel) 55%, transparent);
  cursor: pointer;
}
.mix-segment.hero { background: var(--green); }
.mix-segment.workhorse { background: var(--brand); }
.mix-segment.watch { background: var(--amber); }
.mix-segment.villain { background: var(--red); }
.mix-segment.unknown { background: var(--muted); }
.trend-product-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.trend-product-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
  color: var(--ink);
  padding: 12px;
  text-align: left;
  cursor: pointer;
}
.trend-product-card.hero { border-left: 5px solid var(--green); }
.trend-product-card.workhorse { border-left: 5px solid var(--brand); }
.trend-product-card.watch { border-left: 5px solid var(--amber); }
.trend-product-card.villain { border-left: 5px solid var(--red); }
.trend-product-card.unknown { border-left: 5px solid var(--muted); opacity: .86; }
.trend-product-card:hover {
  border-color: var(--brand);
  background: var(--hover-bg);
}
.trend-product-card > span {
  display: flex;
  align-items: center;
  gap: 7px;
  font-weight: 800;
  margin-bottom: 8px;
}
.trend-product-card > span i {
  width: 20px;
  height: 20px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: var(--panel-2);
  color: var(--muted);
  font-style: normal;
  font-size: 11px;
}
.trend-spark-row {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  padding-top: 6px;
  border-top: 1px solid var(--line);
}
.trend-spark-row + .trend-spark-row { margin-top: 6px; }
.trend-spark-row b {
  color: var(--muted);
  font-size: 10.5px;
  text-transform: uppercase;
}
.trend-spark-row .dashboard-sparkline {
  min-height: 56px;
  padding: 0;
  background: transparent;
  border: 0;
}
.stress-table th,
.stress-table td,
.assumptions-table th,
.assumptions-table td {
  font-size: 12px;
}
.stress-label,
.assumption-name {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-weight: 800;
}
.stress-label i,
.assumption-name i {
  width: 20px;
  height: 20px;
  border-radius: 999px;
  background: var(--panel-2);
  color: var(--brand-dark);
  display: grid;
  place-items: center;
  font-style: normal;
  font-size: 10px;
}
.stress-cell,
.assumption-variance {
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 4px 8px;
  font-weight: 850;
  cursor: pointer;
}
.stress-cell.green,
.assumption-variance.ok {
  background: var(--green-bg);
  color: var(--green);
}
.stress-cell.amber,
.assumption-variance.warn {
  background: var(--amber-bg);
  color: var(--amber);
}
.stress-cell.red,
.assumption-variance.alert {
  background: var(--red-bg);
  color: var(--red);
}
.stress-cell.gray {
  background: var(--panel-2);
  color: var(--muted);
  border-style: dashed;
}
.inline-product-chip {
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--panel);
  color: var(--brand-dark);
  padding: 3px 8px;
  margin: 2px;
  font-size: 11px;
  font-weight: 750;
  cursor: pointer;
}
.confidence-chip.verified,
.confidence-chip.modeled {
  background: var(--brand-soft);
  color: var(--brand-dark);
}
.confidence-chip.overridden {
  background: #f3ecff;
  color: #7c3aed;
}
.product-battlecard {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.battlecard-head {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 14px;
  background: var(--panel-2);
}
.battlecard-head.hero { border-left: 6px solid var(--green); }
.battlecard-head.workhorse { border-left: 6px solid var(--brand); }
.battlecard-head.watch { border-left: 6px solid var(--amber); }
.battlecard-head.villain { border-left: 6px solid var(--red); }
.battlecard-head.unknown { border-left: 6px solid var(--muted); }
.battlecard-head span,
.battlecard-head strong,
.battlecard-head em {
  display: block;
}
.battlecard-head span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
}
.battlecard-head span i {
  margin-right: 6px;
  font-style: normal;
}
.battlecard-head strong {
  margin-top: 4px;
  font-size: 24px;
  color: var(--ink);
}
.battlecard-head em {
  margin-top: 3px;
  color: var(--muted);
  font-style: normal;
}
.battlecard-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.battlecard-proof {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, .55fr);
  gap: 12px;
}
.battlecard-proof > div {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 12px;
  background: var(--panel);
}
.battlecard-proof span {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
  margin-bottom: 8px;
}
.battlecard-proof strong { color: var(--ink); }
@media (max-width: 1200px) {
  .cockpit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .product-map-grid,
  .economics-grid,
  .stress-assumption-grid,
  .battlecard-proof {
    grid-template-columns: 1fr;
  }
  .trend-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .cockpit-grid,
  .trend-product-grid,
  .battlecard-grid {
    grid-template-columns: 1fr;
  }
  .mix-row { grid-template-columns: 1fr; }
  .waterfall-bars { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

* { box-sizing: border-box; }
html, body { margin: 0; height: 100%; }
body {
  font-family: var(--app-font);
  background: var(--app-bg);
  color: var(--ink);
  font-size: 14px;
}

#app { display: flex; min-height: 100vh; }

/* Sidebar */
.sidebar {
  width: 196px; background: #1e1e1e; color: #f5f5ef;
  display: flex; flex-direction: column; flex-shrink: 0;
  position: sticky; top: 0; height: 100vh;
  z-index: 1002;
}
.brand { display: flex; align-items: center; gap: 10px; padding: 16px 10px; }
.brand-mark {
  width: 40px; height: 40px; border-radius: 10px;
  background: linear-gradient(135deg, var(--brand), #424242);
  color: #fff; font-weight: 800; display: grid; place-items: center; letter-spacing: .5px;
}
.brand-mark.brand-logo {
  width: 56px;
  height: 36px;
  padding: 5px;
  border-radius: 8px;
  background: #fff;
  border: 1px solid rgba(230, 255, 42, .5);
  box-shadow: 0 0 0 1px rgba(255, 255, 255, .08), 0 8px 20px rgba(0, 0, 0, .2);
}
.brand-mark.brand-logo img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
.brand-text { display: flex; flex-direction: column; line-height: 1.2; }
.brand-text strong { color: #fff; font-size: 12px; line-height: 1.12; }
.brand-text span { color: var(--manaforge-highlight); font-size: 8.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .02em; line-height: 1.15; }

nav { display: flex; flex-direction: column; padding: 8px 8px; gap: 2px; flex: 1; }
.nav-item {
  color: #d8d8d0; text-decoration: none; padding: 9px 10px; border-radius: 8px;
  font-weight: 500; font-size: 12.5px; transition: .12s;
}
.nav-item:hover { background: #2c2c2c; color: #fff; }
.nav-item.active { background: var(--manaforge-highlight); color: #1e1e1e; font-weight: 800; }
.sidebar-foot {
  padding: 14px 12px; border-top: 1px solid #343434; display: flex;
  flex-direction: column; gap: 2px; font-size: 12px; color: #c9c9bf;
}

/* Content */
.content { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.topbar {
  display: flex; align-items: center; justify-content: space-between;
  padding: 18px 32px; border-bottom: 1px solid var(--line); background: #fff;
  position: sticky; top: 0; z-index: 5;
}
.topbar h1 { font-size: 20px; margin: 0; }
.page-title-sub {
  display: inline-block;
  margin-left: 10px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 650;
}
.topbar-actions { display: flex; align-items: center; gap: 12px; }
.page-actions { display: flex; align-items: center; gap: 8px; }
.page-actions:empty { display: none; }
#view { padding: 24px 32px 60px; }
#view:has(.pl-page) {
  flex: 1;
  min-height: 0;
  overflow: hidden;
  padding: 16px 24px 24px;
}

.pill {
  font-size: 12px; padding: 4px 10px; border-radius: 999px;
  background: var(--green-bg); color: var(--green); font-weight: 600;
}
.pill.working { background: var(--amber-bg); color: var(--amber); }
.pill.error { background: var(--red-bg); color: var(--red); }

/* Buttons */
.btn {
  border: 1px solid var(--brand); background: var(--brand); color: #fff;
  padding: 8px 16px; border-radius: 8px; font-weight: 600; cursor: pointer;
  font-size: 13px; transition: .12s;
}
.btn:hover { background: var(--brand-dark); }
.btn.ghost { background: #fff; color: var(--ink); border-color: var(--line); }
.btn.ghost:hover { background: #f4f6fa; }
.btn.sm { padding: 5px 10px; font-size: 12px; }
.btn.danger { background: #fff; color: var(--red); border-color: var(--red); }

/* Cards */
.cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 16px; }
.card {
  background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius);
  padding: 18px; box-shadow: var(--shadow);
}
.metric-label { color: var(--muted); font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .4px; }
.metric-value { font-size: 24px; font-weight: 750; margin-top: 6px; }
.metric-sub { font-size: 12px; color: var(--muted); margin-top: 4px; }
.metric-value.pos { color: var(--green); }
.metric-value.neg { color: var(--red); }
.metric-head {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 24px;
}
.metric-icon {
  width: 24px;
  height: 24px;
  border-radius: 999px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  background: #eef4fe;
  color: var(--brand-dark);
  font-size: 12px;
  font-weight: 850;
}
.help-dot {
  width: 18px;
  height: 18px;
  border: 1px solid var(--line);
  border-radius: 999px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  color: var(--muted);
  background: #fff;
  font-size: 11px;
  font-weight: 800;
  cursor: help;
  text-decoration: none;
}
.help-dot:hover {
  border-color: var(--brand);
  color: var(--brand-dark);
  background: #eef4fe;
}

.section { margin-top: 28px; }
.section-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
.section-head h2 { font-size: 16px; margin: 0; }
.panel {
  background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius);
  box-shadow: var(--shadow); padding: 20px;
}
.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
@media (max-width: 1000px){ .grid-2,.grid-3{ grid-template-columns:1fr; } }
.chart-wrap { position: relative; height: 280px; }
.cash-feature-head {
  align-items: flex-end;
}
.cash-feature-head h2 {
  margin-bottom: 3px;
}
.cash-feature-head p {
  margin: 0;
  color: #475569;
  font-size: 12.5px;
  font-weight: 650;
  line-height: 1.35;
}
.cash-timeline-feature {
  padding: 16px 18px 14px;
}
.cash-timeline-wrap {
  height: 390px;
}
.cash-driver-strip {
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  gap: 8px;
  margin: 10px 0 12px;
}
.cash-driver-head,
.cash-driver-card {
  border: 1px solid #dfe7f2;
  border-radius: 7px;
  background: #fbfcfe;
  padding: 9px 10px;
}
.cash-driver-head {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.cash-driver-head span,
.cash-driver-card span {
  display: block;
  color: var(--muted);
  font-size: 10.5px;
  font-weight: 850;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.cash-driver-head strong,
.cash-driver-card strong {
  display: block;
  margin-top: 5px;
  color: var(--ink);
  font-size: 14px;
  line-height: 1.1;
}
.cash-driver-head strong.pos {
  color: #047857;
}
.cash-driver-head strong.neg {
  color: #b42318;
}
.cash-driver-card b {
  display: block;
  margin-top: 5px;
  color: #334155;
  font-size: 11px;
  font-weight: 850;
  line-height: 1.15;
}
.cash-driver-card i {
  display: block;
  height: 6px;
  margin-top: 6px;
  overflow: hidden;
  border-radius: 999px;
  background: #e7eef8;
}
.cash-driver-card i small {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #64748b;
}
.cash-driver-card.pos i small {
  background: #059669;
}
.cash-driver-card.neg i small {
  background: #dc2626;
}
.cash-driver-card.hire i small {
  background: #0ea5e9;
}
.cash-driver-head em,
.cash-driver-card em {
  display: block;
  margin-top: 5px;
  color: #64748b;
  font-size: 11px;
  font-style: normal;
  font-weight: 650;
  line-height: 1.25;
}
.cash-driver-cards {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
}
.cash-driver-card.pos strong {
  color: var(--green);
}
.cash-driver-card.neg strong {
  color: var(--red);
}
.cash-driver-card.hire.warn {
  border-color: #e8c46f;
  background: #e8f9fd;
}
.cash-driver-card.hire.warn strong {
  color: var(--amber);
}
.cash-driver-card.compact {
  min-height: 0;
  padding: 10px 12px;
}
.cash-driver-card.compact strong {
  margin-top: 7px;
  font-size: 15px;
}
.cash-driver-card.compact i {
  margin-top: 8px;
}
.cash-driver-card.compact em {
  margin-top: 7px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cash-chart-key {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 14px;
  margin: 2px 0 8px;
  padding: 0 2px;
  color: #526174;
  font-size: 11px;
  font-weight: 700;
}
.cash-key-control {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  white-space: nowrap;
}
.cash-key-control {
  cursor: pointer;
}
.cash-key-control-static {
  cursor: default;
}
.cash-key-dot {
  width: 14px;
  height: 14px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--key-color);
  box-shadow: inset 0 0 0 2px var(--panel);
}
.cash-chart-key input[type="color"] {
  width: 14px;
  height: 14px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: transparent;
  cursor: pointer;
  padding: 0;
}
.cash-chart-key input[type="color"]::-webkit-color-swatch-wrapper {
  padding: 1px;
}
.cash-chart-key input[type="color"]::-webkit-color-swatch {
  border: 0;
  border-radius: 999px;
}
/* Dashboard narrative */
.dashboard-page {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.dashboard-toolbar {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
  padding: 12px 16px;
}
.dashboard-toolbar h2 {
  margin: 3px 0 0;
  font-size: 16px;
  line-height: 1.35;
}
.dashboard-subline {
  margin-top: 2px;
  color: var(--muted);
  font-size: 12px;
}
.chapter-kicker,
.chapter-label {
  color: var(--muted);
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .4px;
  text-transform: uppercase;
}
.dashboard-basis-toggle {
  flex-shrink: 0;
}
.dashboard-basis-toggle span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  margin-right: 4px;
}
.dashboard-chapter {
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.dashboard-chapter .section-head {
  margin-bottom: 0;
}
.dashboard-status-cards {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
}
.dashboard-hero-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.dashboard-hero-kpi {
  display: grid;
  grid-template-rows: auto auto auto auto;
  min-height: 96px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: inherit;
  box-shadow: var(--shadow);
  text-align: left;
  cursor: pointer;
}
.dashboard-hero-kpi:hover,
.dashboard-hero-kpi:focus-visible {
  border-color: #adc7ef;
  background: #fbfdff;
  outline: none;
}
.dashboard-hero-kpi > span {
  display: flex;
  align-items: center;
  gap: 7px;
  color: #5f6e82;
  font-size: 10.5px;
  font-weight: 900;
  letter-spacing: .03em;
  line-height: 1.15;
  text-transform: uppercase;
}
.dashboard-hero-kpi > span i {
  display: inline-grid;
  place-items: center;
  width: 17px;
  height: 17px;
  border-radius: 999px;
  background: #eef4fe;
  color: var(--brand);
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
  letter-spacing: 0;
}
.dashboard-hero-kpi > strong {
  display: block;
  margin-top: 8px;
  color: var(--ink);
  font-size: 23px;
  line-height: 1;
  letter-spacing: 0;
}
.dashboard-hero-kpi.pos > strong {
  color: #047857;
}
.dashboard-hero-kpi.neg > strong {
  color: #b42318;
}
.dashboard-hero-kpi > b {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  min-height: 18px;
  margin-top: 7px;
  color: #64748b;
  font-size: 11px;
  font-weight: 800;
}
.dashboard-hero-kpi > b small {
  color: #5f6e82;
  font-size: 11px;
  font-weight: 800;
}
.dashboard-hero-kpi > em {
  display: block;
  margin-top: 7px;
  color: #40516a;
  font-size: 11.5px;
  font-style: normal;
  font-weight: 650;
  line-height: 1.25;
}
.dashboard-now-grid {
  display: grid;
  grid-template-columns: minmax(260px, .85fr) minmax(0, 1.45fr) minmax(0, 1.15fr);
  grid-template-areas:
    "cash profit risk";
  gap: 10px;
  align-items: stretch;
}
.now-hero,
.now-panel {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  box-shadow: var(--shadow);
}
.now-hero {
  grid-area: cash;
  display: flex;
  flex-direction: column;
  min-height: 0;
  padding: 12px 14px;
  text-align: left;
  color: inherit;
  cursor: pointer;
}
.now-profit-panel {
  grid-area: profit;
}
.now-risk-panel {
  grid-area: risk;
}
.now-hero:hover,
.now-metric:hover {
  border-color: var(--brand);
  background: #f7fbff;
}
.now-eyebrow,
.now-panel-head span,
.now-metric-label {
  color: var(--muted);
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .35px;
  text-transform: uppercase;
}
.now-eyebrow i,
.now-metric-label i {
  display: inline-grid;
  place-items: center;
  width: 16px;
  height: 16px;
  margin-right: 6px;
  border-radius: 999px;
  background: #eef4fe;
  color: var(--brand);
  font-style: normal;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0;
}
.now-hero strong {
  display: block;
  margin-top: 14px;
  color: var(--green);
  font-size: 34px;
  line-height: 1;
}
.now-hero em,
.now-metric em {
  display: block;
  color: var(--muted);
  font-size: 11.5px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.25;
  margin-top: 4px;
  white-space: normal;
}
.now-hero-foot {
  display: flex;
  width: 100%;
  align-self: flex-start;
  margin-top: 8px;
  border-radius: 7px;
  background: #eef8f1;
  color: #047857;
  font-size: 11.5px;
  font-weight: 800;
  line-height: 1.25;
  padding: 6px 8px;
}
.now-hero-foot.neg {
  background: var(--red-bg);
  color: var(--red);
}
.now-hero-context {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  margin-top: 10px;
}
.now-hero-context span {
  display: block;
  min-width: 0;
  padding: 7px 8px;
  border: 1px solid #e1e7ef;
  border-radius: 8px;
  background: #fbfcfe;
}
.now-hero-context b {
  display: block;
  color: var(--red);
  font-size: 14px;
  line-height: 1.1;
}
.now-hero-context small {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 10.5px;
  font-weight: 800;
  line-height: 1.15;
  text-transform: uppercase;
}
.now-panel {
  display: flex;
  flex-direction: column;
  min-height: 0;
  padding: 10px 12px;
}
.now-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 5px;
}
.now-panel-note {
  display: block;
  min-height: 0;
  margin: 0 0 7px;
  color: #475569;
  font-size: 11.5px;
  font-weight: 650;
  line-height: 1.35;
}
.now-metric-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.now-profit-panel .now-metric-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.now-metric {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 68px;
  border: 1px solid #e1e7ef;
  border-radius: 8px;
  background: #fbfcfe;
  padding: 8px 9px;
  text-align: left;
  color: inherit;
  cursor: pointer;
}
.now-metric strong {
  display: block;
  margin-top: 5px;
  color: var(--ink);
  font-size: 18px;
  line-height: 1.05;
}
.now-metric.pos strong {
  color: var(--green);
}
.now-metric.neg strong,
.now-metric.risk-focus.neg strong {
  color: var(--red);
}
.now-risk-panel .now-metric.risk-focus {
  background: #e8f9fd;
}
.now-risk-panel .now-metric-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.now-metric.inventory-metric {
  background: #f7fbf5;
}
.now-trend {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  width: max-content;
  max-width: 100%;
  margin-top: 0;
  border-radius: 999px;
  padding: 2px 6px;
  background: #f1f5f9;
  color: #526174;
  font-size: 10px;
  font-weight: 850;
  line-height: 1.1;
}
.now-trend.up {
  background: #e9f7f0;
  color: #047857;
}
.now-trend.down {
  background: #fef0ed;
  color: #b42318;
}
.trend-icon {
  display: inline-grid;
  place-items: center;
  min-width: 12px;
  height: 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.65);
  font-size: 8px;
  font-weight: 900;
  line-height: 1;
}
.dashboard-kpi {
  min-height: 74px;
  padding: 9px 11px;
}
.dashboard-kpi .metric-label {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
.dashboard-kpi .metric-value {
  font-size: 21px;
  line-height: 1.1;
  margin-top: 7px;
}
.dashboard-kpi .metric-date {
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.25;
  margin-top: 6px;
}
.dashboard-page.view-cash .accrual-card,
.dashboard-page.view-accrual .cash-card,
.dashboard-page.view-cash [data-dashboard-scope="accrual"],
.dashboard-page.view-accrual [data-dashboard-scope="cash"] {
  display: none;
}
.dashboard-page.view-cash [data-dashboard-scope="both"],
.dashboard-page.view-accrual [data-dashboard-scope="both"] {
  display: none;
}
.dashboard-page.view-both .cash-story,
.dashboard-page.view-both .accrual-story {
  display: none;
}
.narrative-panel {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 8px;
}
.dashboard-bridge-grid {
  display: grid;
  grid-template-columns: minmax(260px, .8fr) minmax(420px, 1.2fr);
  gap: 12px;
}
.compact-decision-panel {
  min-height: 0;
  padding: 14px 16px;
}
.decision-label {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .35px;
  text-transform: uppercase;
}
.story-sentence {
  font-size: 17px;
  line-height: 1.35;
  color: #243044;
}
.story-sentence strong {
  color: var(--ink);
}
.story-sentence .pos,
.bridge-step-head .pos {
  color: var(--green);
}
.story-sentence .neg,
.bridge-step-head .neg {
  color: var(--red);
}
.bridge-panel {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.bridge-callout {
  align-self: flex-start;
  border-radius: 6px;
  padding: 6px 9px;
  font-size: 12.5px;
  font-weight: 800;
}
.bridge-callout.pos {
  background: var(--amber-bg);
  color: #835b00;
}
.bridge-callout.neg {
  background: var(--red-bg);
  color: var(--red);
}
.driver-pill {
  align-self: flex-start;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #f8fafc;
  color: #334155;
  font-size: 11.5px;
  font-weight: 750;
  padding: 5px 10px;
}
.compact-help {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.bridge-step {
  display: block;
  text-decoration: none;
  color: inherit;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 9px 10px;
  background: #fbfcfe;
}
.bridge-step:hover {
  border-color: var(--brand);
  background: #eef4fe;
}
.bridge-step-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: 12px;
  font-weight: 700;
}
.bridge-bar {
  height: 6px;
  border-radius: 999px;
  background: #eef0f4;
  overflow: hidden;
  margin-top: 8px;
}
.bridge-bar span {
  display: block;
  height: 100%;
  border-radius: 999px;
}
.bridge-bar .pos {
  background: var(--green);
}
.bridge-bar .neg {
  background: var(--red);
}
.dashboard-product-table th,
.dashboard-product-table td {
  white-space: nowrap;
}
.dashboard-product-table a {
  color: var(--brand-dark);
  font-weight: 700;
  text-decoration: none;
}
.dashboard-product-table a:hover {
  text-decoration: underline;
}
.dashboard-breakdown-link {
  appearance: none;
  border: 0;
  border-radius: 5px;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font: inherit;
  font-weight: inherit;
  padding: 2px 4px;
  text-align: right;
}
.dashboard-breakdown-link:hover {
  background: #eef4fe;
  color: var(--brand-dark);
  text-decoration: underline;
}
.dashboard-breakdown-link.pos {
  color: inherit;
}
.dashboard-breakdown-link.neg {
  color: var(--red);
}
.dashboard-breakdown {
  display: grid;
  gap: 10px;
}
.dashboard-breakdown h4 {
  margin: 4px 0 0;
}
.product-intel-wide {
  min-width: 0;
}
.product-intel-table th,
.product-intel-table td {
  padding-left: 10px;
  padding-right: 10px;
}
.product-intel-table th:first-child,
.product-intel-table td:first-child {
  position: sticky;
  left: 0;
  z-index: 2;
  background: #fff;
}
.product-intel-table tbody tr:hover td:first-child {
  background: #f8fafc;
}
.breakdown-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  border: 1px solid #dbe6f3;
  border-radius: 8px;
  background: #f8fbff;
  padding: 12px 14px;
}
.breakdown-hero span,
.mini-card span {
  color: var(--muted);
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.breakdown-hero strong {
  display: block;
  margin-top: 5px;
  color: var(--ink);
  font-size: 26px;
  line-height: 1.05;
}
.breakdown-hero em {
  display: block;
  max-width: 720px;
  margin-top: 7px;
  color: #475569;
  font-size: 13.5px;
  font-style: normal;
  line-height: 1.45;
}
.breakdown-score-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(130px, 1fr));
  gap: 8px;
}
.breakdown-score-grid .mini-card {
  min-height: 66px;
}
.product-lean-breakdown {
  gap: 12px;
}
.product-lean-score-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(130px, 1fr));
  gap: 8px;
}
.product-lean-score-grid .mini-card {
  min-height: 72px;
}
.product-lean-score-grid .mini-card span {
  font-size: 11px;
}
.product-lean-score-grid .mini-card strong {
  font-size: 20px;
}
.product-lean-grid {
  display: grid;
  grid-template-columns: minmax(320px, .55fr) minmax(0, 1fr);
  gap: 10px;
  align-items: stretch;
}
.product-lean-panel {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel-2);
  padding: 10px;
  overflow: hidden;
}
.product-lean-cogs-table {
  width: 100%;
}
.product-lean-cogs-table th,
.product-lean-cogs-table td {
  padding: 8px 9px;
  font-size: 12px;
}
.product-lean-cogs-table th:nth-child(2),
.product-lean-cogs-table td:nth-child(2),
.product-lean-cogs-table th:nth-child(3),
.product-lean-cogs-table td:nth-child(3) {
  text-align: right;
}
.product-lean-cogs-table tr.total td {
  border-top: 1px solid var(--line);
  font-weight: 900;
}
.product-lean-breakdown .history-visual-bars {
  min-height: 170px;
}
.product-lean-breakdown .history-visual-bar {
  grid-template-rows: 112px auto auto;
}
.number-lineage-panel {
  border: 1px solid #dbe6f3;
  border-radius: 8px;
  background: #fbfdff;
  padding: 10px 12px;
}
.lineage-control {
  display: grid;
  gap: 3px;
  padding-bottom: 8px;
  border-bottom: 1px solid #e2e8f0;
}
.lineage-control span,
.lineage-grid h4 {
  margin: 0;
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.lineage-control strong {
  color: var(--ink);
  font-size: 13px;
  line-height: 1.35;
}
.lineage-grid {
  display: grid;
  grid-template-columns: 1.1fr 1.1fr .95fr;
  gap: 10px;
  padding-top: 10px;
}
.lineage-grid ul {
  display: grid;
  gap: 5px;
  margin: 6px 0 0;
  padding: 0;
  list-style: none;
}
.lineage-grid li {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  border-bottom: 1px dashed #d7e0eb;
  padding-bottom: 4px;
  color: #53647b;
  font-size: 12px;
}
.lineage-grid li strong {
  color: var(--ink);
  text-align: right;
}
.lineage-grid p {
  margin: 6px 0 0;
  color: #475569;
  font-size: 12.5px;
  line-height: 1.4;
}
.breakdown-visual-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .9fr) minmax(0, 1fr);
  gap: 10px;
  align-items: stretch;
  min-width: 0;
}
.breakdown-history-visual,
.breakdown-composition {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel-2);
  padding: 10px;
  overflow: hidden;
}
.visual-panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}
.visual-panel-head span {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .035em;
  text-transform: uppercase;
}
.visual-panel-head strong {
  display: block;
  margin-top: 2px;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.15;
}
.visual-panel-head em {
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  font-weight: 750;
  line-height: 1.2;
  text-align: right;
}
.visual-panel-head em.pos { color: var(--ink); }
.visual-panel-head em.neg { color: var(--red); }
.visual-panel-head em.warn { color: var(--amber); }
.history-visual-bars {
  min-height: 132px;
  display: grid;
  grid-template-columns: repeat(10, minmax(24px, 1fr));
  gap: 6px;
  align-items: end;
  border-top: 1px dashed color-mix(in srgb, var(--line) 70%, transparent);
  padding-top: 8px;
}
.history-visual-bar {
  appearance: none;
  border: 0;
  background: transparent;
  color: var(--muted);
  display: grid;
  grid-template-rows: 86px auto auto;
  gap: 3px;
  justify-items: center;
  min-width: 0;
  padding: 0;
  cursor: pointer;
}
.history-visual-bar i {
  align-self: end;
  width: 72%;
  min-height: 5px;
  border-radius: 5px 5px 2px 2px;
  background: var(--green);
  box-shadow: inset 0 -1px 0 rgba(0,0,0,.12);
}
.history-visual-bar.neg i { background: var(--red); }
.history-visual-bar.forecast i {
  background: repeating-linear-gradient(135deg, var(--amber), var(--amber) 4px, color-mix(in srgb, var(--amber) 35%, transparent) 4px, color-mix(in srgb, var(--amber) 35%, transparent) 8px);
}
.history-visual-bar.latest i {
  outline: 2px solid color-mix(in srgb, var(--brand) 38%, transparent);
  outline-offset: 2px;
}
.history-visual-bar strong {
  display: block;
  width: 100%;
  max-width: 100%;
  color: var(--ink);
  font-size: 10.5px;
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.history-visual-bar span {
  display: block;
  width: 100%;
  max-width: 100%;
  color: var(--muted);
  font-size: 10.5px;
  font-weight: 700;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.breakdown-history-visual.empty p {
  margin: 16px 0 6px;
  color: var(--muted);
  font-size: 12px;
}
.composition-body {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
}
.composition-donut {
  appearance: none;
  width: 112px;
  height: 112px;
  border: 0;
  border-radius: 999px;
  background: conic-gradient(var(--donut));
  color: var(--ink);
  display: grid;
  place-items: center;
  position: relative;
  cursor: pointer;
}
.composition-donut::after {
  content: "";
  position: absolute;
  inset: 18px;
  border-radius: inherit;
  background: var(--panel-2);
}
.composition-donut span,
.composition-donut em {
  position: relative;
  z-index: 1;
  text-align: center;
}
.composition-donut span {
  align-self: end;
  max-width: 76px;
  color: var(--ink);
  font-size: 14px;
  font-weight: 700;
  overflow-wrap: anywhere;
}
.composition-donut em {
  align-self: start;
  max-width: 68px;
  color: var(--muted);
  font-size: 9.5px;
  font-style: normal;
  font-weight: 800;
  text-transform: uppercase;
}
.composition-legend {
  display: grid;
  gap: 6px;
}
.composition-legend button {
  appearance: none;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--panel);
  color: var(--ink);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2px 8px;
  min-width: 0;
  padding: 8px;
  position: relative;
  text-align: left;
  cursor: pointer;
  overflow: hidden;
}
.composition-legend button.pos span i { background: var(--green); }
.composition-legend button.neg span i { background: var(--red); }
.composition-legend button.warn span i { background: var(--amber); }
.composition-legend span {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .025em;
  text-transform: uppercase;
}
.composition-legend span i {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--muted);
}
.composition-legend strong {
  color: var(--ink);
  font-size: 13px;
  font-weight: 500;
}
.composition-legend button.neg strong {
  color: var(--red);
}
.composition-legend em {
  grid-column: 1 / -1;
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 650;
}
.metric-focused-grid .mini-card.pos strong { color: var(--ink); }
.metric-focused-grid .mini-card.neg strong {
  color: var(--red);
}
.breakdown-history-table th,
.breakdown-history-table td {
  font-size: 12px;
}
.breakdown-history-table td:last-child {
  font-weight: 750;
}
.summary-history-matrix {
  min-width: max-content;
}
.summary-history-matrix th,
.summary-history-matrix td {
  min-width: 92px;
  text-align: right;
  white-space: nowrap;
}
.summary-history-matrix th:first-child,
.summary-history-matrix td:first-child {
  left: 0;
  min-width: 110px;
  position: sticky;
  text-align: left;
  z-index: 1;
}
.summary-history-matrix th:first-child {
  background: #f8fafc;
}
.summary-history-matrix td:first-child {
  background: #fff;
  color: #475569;
  font-weight: 800;
}
.case-score-grid .mini-card em {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 750;
}
.proof-jump-card {
  appearance: none;
  text-align: left;
  color: inherit;
  cursor: pointer;
}
.proof-jump-card:hover,
.case-support-cell:hover {
  border-color: #adc7ef;
  background: #fbfdff;
}
.case-support-matrix td {
  vertical-align: middle;
}
.case-support-cell {
  appearance: none;
  display: inline-flex;
  justify-content: flex-end;
  min-width: 82px;
  width: 100%;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  color: inherit;
  cursor: pointer;
  padding: 3px 4px;
  text-align: right;
}
.case-support-cell strong {
  font-size: 12px;
}
.value-proof-matrix td:first-child {
  color: #334155;
}
.value-proof-matrix tbody tr:nth-child(odd) td:not(:first-child) {
  background: #fbfcfe;
}
.value-proof-matrix th:last-child,
.value-proof-matrix td:last-child {
  background: #f8fafc;
  border-left: 1px solid #d8e2f0;
  font-weight: 850;
}
.proof-value-link {
  appearance: none;
  width: 100%;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font: inherit;
  font-weight: inherit;
  padding: 3px 4px;
  text-align: right;
}
.proof-value-link:hover {
  border-color: #adc7ef;
  background: #fbfdff;
  color: var(--brand);
}
.proof-value-link.total {
  color: var(--ink);
  font-weight: 900;
}
.dashboard-metric-modal {
  min-width: min(820px, calc(100vw - 56px));
}
.metric-audit-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: start;
  border: 1px solid #dbe6f3;
  border-radius: 8px;
  background: #f8fbff;
  padding: 12px 14px;
}
.metric-audit-head span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.metric-audit-head strong {
  display: block;
  margin-top: 4px;
  color: var(--ink);
  font-size: 24px;
  line-height: 1.05;
}
.metric-audit-head em {
  display: block;
  margin-top: 6px;
  color: #475569;
  font-size: 12.5px;
  font-style: normal;
  line-height: 1.35;
}
.metric-audit-grid {
  display: grid;
  grid-template-columns: minmax(280px, .9fr) minmax(320px, 1.1fr);
  gap: 10px;
}
.metric-takeaway {
  border: 1px solid #bfdbfe;
  border-radius: 8px;
  background: #eff6ff;
  padding: 10px 12px;
}
.metric-takeaway span,
.metric-investigation-grid h4 {
  display: block;
  margin: 0 0 5px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.metric-takeaway strong {
  display: block;
  color: var(--ink);
  font-size: 13px;
  line-height: 1.35;
}
.metric-insight-grid,
.metric-investigation-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.metric-investigation-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.metric-investigation-grid h4 {
  grid-column: 1 / -1;
}
.metric-insight-card,
.metric-investigation {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  padding: 9px 10px;
  color: inherit;
  text-decoration: none;
}
.metric-insight-card:hover {
  border-color: #adc7ef;
  background: #fbfdff;
}
.metric-insight-card.pos strong {
  color: var(--green);
}
.metric-insight-card.neg strong {
  color: var(--red);
}
.cash-position-visual {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, .85fr);
  gap: 10px;
}
.cash-runway-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.cash-runway-point,
.cash-driver-bars {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.cash-runway-point {
  display: grid;
  gap: 5px;
  padding: 9px 10px;
  color: inherit;
  text-decoration: none;
}
.cash-runway-point:hover,
.cash-driver-bar:hover {
  border-color: #adc7ef;
  background: #fbfdff;
}
.cash-runway-point span,
.cash-driver-bar span {
  color: var(--muted);
  font-size: 10.5px;
  font-weight: 850;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.cash-runway-point strong {
  color: var(--ink);
  font-size: 16px;
  line-height: 1.1;
}
.cash-runway-point.neg strong {
  color: var(--red);
}
.cash-runway-point.pos strong {
  color: var(--green);
}
.cash-runway-point em {
  min-height: 13px;
  color: #64748b;
  font-size: 11px;
  font-style: normal;
}
.cash-runway-point i {
  display: block;
  height: 8px;
  border-radius: 999px;
  background: var(--green);
}
.cash-runway-point.neg i {
  background: var(--red);
}
.cash-driver-bars {
  display: grid;
  gap: 7px;
  padding: 9px 10px;
}
.cash-driver-bar {
  display: grid;
  grid-template-columns: 112px minmax(80px, 1fr) 82px;
  align-items: center;
  gap: 8px;
  border: 1px solid transparent;
  border-radius: 6px;
  color: inherit;
  padding: 2px 3px;
  text-decoration: none;
}
.cash-driver-bar div {
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: #e7eef8;
}
.cash-driver-bar i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--green);
}
.cash-driver-bar.neg i {
  background: var(--red);
}
.cash-driver-bar strong {
  color: var(--ink);
  font-size: 12px;
  text-align: right;
}
.cash-driver-bar.neg strong {
  color: var(--red);
}
.cash-driver-bar.pos strong {
  color: var(--green);
}
.metric-insight-card span,
.metric-investigation span {
  display: block;
  color: var(--muted);
  font-size: 10.5px;
  font-weight: 850;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.metric-insight-card strong,
.metric-investigation strong {
  display: block;
  margin-top: 5px;
  color: var(--ink);
  font-size: 14px;
  line-height: 1.2;
  overflow-wrap: anywhere;
}
.metric-insight-card em,
.metric-investigation em {
  display: block;
  margin-top: 5px;
  color: #64748b;
  font-size: 11px;
  font-style: normal;
  line-height: 1.25;
}
.metric-investigation {
  border-color: #d7e2ef;
}
.metric-investigation:hover {
  border-color: var(--brand);
  background: #f8fbff;
}
.metric-audit-panel {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  padding: 10px 12px;
}
.metric-audit-panel h4 {
  margin: 0 0 8px;
}
.metric-check-table {
  width: 100%;
}
.metric-check-table td {
  padding: 8px 6px;
}
.metric-check-table td:first-child {
  color: #475569;
}
.metric-proof-link {
  display: block;
  border: 1px solid transparent;
  border-radius: 6px;
  color: inherit;
  font-weight: 850;
  padding: 3px 4px;
  text-align: right;
  text-decoration: none;
}
.metric-proof-link:hover {
  border-color: #adc7ef;
  background: #fbfdff;
  color: var(--brand);
}
.dashboard-decision-path {
  display: grid;
  grid-template-columns: minmax(160px, .8fr) minmax(220px, 1.1fr) minmax(180px, .9fr);
  gap: 8px;
}
.dashboard-decision-path.compact {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.dashboard-decision-path > div {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  padding: 9px 11px;
}
.dashboard-decision-path span {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .03em;
  text-transform: uppercase;
  margin-bottom: 6px;
}
.dashboard-decision-path strong {
  display: block;
  color: #253247;
  font-size: 12.5px;
  line-height: 1.35;
}
.dashboard-decision-path ul {
  margin: 0;
  padding-left: 17px;
  color: #253247;
  font-size: 12.5px;
  line-height: 1.35;
}
.metric-lever-list {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.metric-lever-tag {
  border: 1px solid #dbe6f3;
  border-radius: 999px;
  background: #f8fafc;
  color: #334155;
  font-size: 11px;
  font-weight: 750;
  line-height: 1;
  padding: 5px 7px;
}
.dashboard-sparkline {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(42px, 1fr));
  align-items: end;
  gap: 5px;
  min-height: 82px;
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 2px 2px 0;
}
.spark-point {
  display: grid;
  align-items: end;
  justify-items: center;
  gap: 5px;
  min-width: 0;
}
.spark-bar {
  display: block;
  width: 100%;
  max-width: 22px;
  min-height: 8px;
  border-radius: 5px 5px 2px 2px;
  background: var(--green);
}
.spark-bar.forecast {
  background: var(--brand);
  opacity: .78;
}
.spark-bar.neg {
  background: var(--red);
}
.spark-point em {
  width: 100%;
  color: var(--muted);
  font-size: 10px;
  font-style: normal;
  font-weight: 750;
  line-height: 1;
  overflow: hidden;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.metric-history {
  display: grid;
  gap: 10px;
}
.metric-history-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.metric-history-summary div {
  border: 1px solid var(--line);
  background: #f8fafc;
  padding: 8px 9px;
}
.metric-history-summary span,
.metric-history-summary em {
  display: block;
  color: var(--muted);
  font-size: 10px;
  font-style: normal;
  font-weight: 800;
  text-transform: uppercase;
}
.metric-history-summary strong {
  display: block;
  color: var(--ink);
  font-size: 15px;
  margin: 3px 0;
}
.metric-history-summary strong.pos {
  color: var(--green);
}
.metric-history-summary strong.neg {
  color: var(--red);
}
.metric-history-legend {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  color: var(--muted);
  font-size: 11px;
  font-weight: 750;
}
.metric-history-legend span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.metric-history-legend i {
  width: 9px;
  height: 9px;
  border-radius: 2px;
  background: var(--green);
}
.metric-history-legend i.neg {
  background: var(--red);
}
.metric-history-legend i.forecast {
  background: var(--brand);
}
.metric-history-legend em {
  color: var(--muted);
  font-style: normal;
}
.metric-history-bars {
  min-height: 112px;
  align-items: end;
}
.metric-history-bars .spark-point {
  grid-template-rows: auto minmax(8px, 58px) auto;
}
.metric-history-bars .spark-point strong {
  color: var(--green);
  font-size: 10px;
  font-weight: 850;
  line-height: 1.1;
  max-width: 74px;
  overflow: hidden;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.metric-history-bars .spark-point strong.neg {
  color: var(--red);
}
.metric-history-bars .spark-point strong.forecast {
  color: var(--brand);
}
.metric-history-details {
  border-top: 1px solid var(--line);
  padding-top: 6px;
}
.metric-history-details summary {
  color: var(--brand-dark);
  cursor: pointer;
  font-size: 12px;
  font-weight: 800;
}
.metric-history-details table {
  margin-top: 8px;
}
.product-intel-panel {
  display: grid;
  grid-template-rows: minmax(0, 1fr) minmax(0, 1fr);
  gap: 14px;
}
.product-intel-block {
  min-width: 0;
}
.compact-table th,
.compact-table td {
  padding-top: 7px;
  padding-bottom: 7px;
  font-size: 12px;
}
.chart-panel-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}
.chart-panel-head h2 {
  margin: 0;
}
.dashboard-operating-summary {
  background: #fbfcfe;
}
.readout-grid {
  display: grid;
  gap: 8px;
}
.readout-item {
  appearance: none;
  display: grid;
  grid-template-columns: minmax(120px, .65fr) minmax(120px, .45fr) minmax(160px, 1fr);
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 9px 10px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #fff;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.readout-item:hover {
  border-color: var(--brand);
  background: #eef4fe;
}
.readout-item span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}
.readout-item strong {
  color: var(--ink);
  font-size: 15px;
}
.readout-item em {
  color: #475569;
  font-size: 11.5px;
  font-style: normal;
  line-height: 1.25;
}
.action-panel {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
@media (max-width: 760px) {
  .dashboard-toolbar {
    flex-direction: column;
  }
  .dashboard-basis-toggle {
    width: 100%;
  }
  .now-metric-grid {
    grid-template-columns: 1fr;
  }
  .bridge-step-head {
    flex-direction: column;
    gap: 4px;
  }
}
@media (max-width: 1300px) {
  .dashboard-status-cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .dashboard-hero-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .dashboard-now-grid {
    grid-template-columns: minmax(290px, .9fr) minmax(0, 1.35fr);
    grid-template-areas:
      "cash profit"
      "risk risk";
  }
}
@media (max-width: 1000px) {
  .dashboard-bridge-grid,
  .bridge-panel {
    grid-template-columns: 1fr;
  }
}

/* Tables */
table { width: 100%; border-collapse: collapse; font-size: 13px; }
th, td { padding: 9px 12px; text-align: right; border-bottom: 1px solid var(--line); white-space: nowrap; }
th:first-child, td:first-child { text-align: left; }
thead th { color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .4px; position: sticky; top: 0; background: #fff; }
tbody tr:hover { background: #f8fafc; }
.table-scroll { overflow-x: auto; }
tr.subtotal td { font-weight: 700; background: #f4f7fb; border-top: 2px solid var(--line); }
tr.section-row td { font-weight: 700; color: var(--brand-dark); background: #eef4fe; }
td.pos { color: var(--green); }
td.neg { color: var(--red); }
.client-manager-page {
  display: grid;
  gap: 14px;
}
.client-manager-panel {
  padding: 16px;
}
.client-manager-note {
  margin: 10px 0 12px;
}
.company-current-panel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border: 1px solid #bfdbfe;
  background: #eff6ff;
  padding: 12px 14px;
  margin: 10px 0 12px;
}
.company-current-panel span,
.company-current-panel em {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
}
.company-current-panel strong {
  display: block;
  color: var(--ink);
  font-size: 18px;
  margin: 2px 0;
}
.company-current-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.client-manager-summary {
  display: grid;
  grid-template-columns: repeat(6, minmax(120px, 1fr));
  gap: 8px;
  margin: 0 0 12px;
}
.client-manager-summary > div {
  border: 1px solid var(--line);
  background: #fff;
  padding: 9px 10px;
}
.client-manager-summary strong {
  display: block;
  color: var(--ink);
  font-size: 18px;
}
.client-manager-summary span {
  color: var(--muted);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .3px;
}

@media (max-width:760px){
 body:has(.controlled-runtime-workspace) .topbar{box-sizing:border-box;width:100dvw;max-width:100dvw;overflow:hidden}
 body:has(.controlled-runtime-workspace) .topbar-title h1{max-width:270px;white-space:normal!important;overflow-wrap:anywhere}
 body:has(.controlled-runtime-workspace) .topbar-actions{box-sizing:border-box;width:100%;max-width:100%;overflow:hidden}
 body:has(.controlled-runtime-workspace) .page-actions{box-sizing:border-box;width:100%!important;max-width:100%!important;overflow-x:auto!important}
 #view:has(.controlled-runtime-workspace){box-sizing:border-box!important;width:100dvw!important;max-width:100dvw!important;padding:12px!important;overflow-x:hidden!important}
 .controlled-runtime-workspace{box-sizing:border-box!important;width:calc(100dvw - 24px)!important;max-width:calc(100dvw - 24px)!important;min-width:0!important;overflow:hidden!important}
 .controlled-runtime-workspace>*{box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important}
 .controlled-runtime-hero{grid-template-columns:minmax(0,1fr)!important;padding:16px!important;overflow:hidden!important}
 .controlled-runtime-hero>div,.controlled-runtime-hero>aside{box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;overflow:hidden!important}
 .controlled-runtime-hero h2,.controlled-runtime-hero p,.controlled-runtime-workspace h3,.controlled-runtime-workspace span,.controlled-runtime-workspace small,.controlled-runtime-workspace b{max-width:100%;white-space:normal!important;overflow-wrap:anywhere}
 .controlled-runtime-hero>div>div{display:flex;flex-wrap:wrap!important;overflow:visible!important}
 .controlled-runtime-sequence{grid-template-columns:minmax(0,1fr)}
 .controlled-runtime-drawer{width:100dvw;max-width:100dvw}
}

/* Final suite-shell overrides */
body.auth-login-active,
body.auth-login-active .login-page { background: #071426 !important; }
body.auth-login-active .login-card { border-color: #315575 !important; box-shadow: 0 32px 90px rgba(0,0,0,.48) !important; }
body.auth-login-active .login-intro { background: radial-gradient(circle at 30% 20%,rgba(45,91,96,.34),transparent 50%),#0a1c31 !important; }
body.auth-login-active .login-brand .brand-mark { color: #d7f500 !important; border-color: rgba(215,245,0,.6) !important; background: #10283b !important; }
body.auth-login-active .login-intro-copy > span,
body.auth-login-active .login-eyebrow { color: #d7f500 !important; }
body.auth-login-active .login-submit { color: #152000 !important; background: #d7f500 !important; border-color: #d7f500 !important; }

/* Owner Dashboard decision hierarchy */
body.owner-dashboard-route .owner-exec-priority-brief {
  border: 1px solid #b8c8d1;
  border-left: 6px solid #d6a617;
  border-radius: 14px;
  padding: 18px 20px;
  background: linear-gradient(120deg, #fffef8 0%, #f8fbfc 72%);
  box-shadow: 0 8px 24px rgba(20, 41, 54, .06);
}
body.owner-dashboard-route .owner-exec-priority-brief > div > em {
  display: block;
  margin-bottom: 5px;
  color: #8b6707;
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
}
body.owner-dashboard-route .owner-exec-priority-zone,
body.owner-dashboard-route .owner-exec-secondary-zone,
body.owner-dashboard-route .owner-dashboard-trust-zone {
  display: grid;
  gap: 12px;
  min-width: 0;
}
body.owner-dashboard-route .owner-dashboard-section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
  padding: 2px 2px 0;
}
body.owner-dashboard-route .owner-dashboard-section-head > div {
  display: grid;
  gap: 3px;
}
body.owner-dashboard-route .owner-dashboard-section-head span {
  color: #647483;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}
body.owner-dashboard-route .owner-dashboard-section-head strong {
  color: #172936;
  font-size: 18px;
  letter-spacing: -.015em;
}
body.owner-dashboard-route .owner-dashboard-section-head small {
  max-width: 340px;
  color: #72828d;
  font-size: 11px;
  text-align: right;
}
body.owner-dashboard-route .owner-exec-unified .owner-exec-primary-grid,
body.owner-dashboard-route .owner-exec-unified .owner-exec-secondary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
body.owner-dashboard-route .owner-exec-primary-grid .owner-exec-kpi {
  min-height: 188px;
  padding: 17px;
  border-radius: 13px;
  box-shadow: 0 8px 22px rgba(20, 41, 54, .07);
}
body.owner-dashboard-route .owner-exec-primary-grid .owner-exec-kpi > strong {
  margin-top: 7px;
  font-size: clamp(25px, 2vw, 34px);
  letter-spacing: -.035em;
}
body.owner-dashboard-route .owner-exec-primary-grid .owner-exec-kpi:hover,
body.owner-dashboard-route .owner-exec-primary-grid .owner-exec-kpi:focus-visible,
body.owner-dashboard-route .owner-exec-secondary-grid .owner-exec-kpi:hover,
body.owner-dashboard-route .owner-exec-secondary-grid .owner-exec-kpi:focus-visible {
  transform: translateY(-2px);
  border-color: #4d748d;
  box-shadow: 0 12px 28px rgba(20, 41, 54, .13);
}
body.owner-dashboard-route .owner-exec-secondary-zone {
  margin-top: 5px;
  padding-top: 22px;
  border-top: 1px solid #d3dde2;
}
body.owner-dashboard-route .owner-exec-secondary-grid .owner-exec-kpi {
  min-height: 158px;
}
body.owner-dashboard-route .owner-exec-actions-panel ol li {
  padding: 0;
  overflow: hidden;
}
body.owner-dashboard-route .owner-exec-actions-panel ol li > button {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) auto;
  gap: 3px 10px;
  width: 100%;
  min-height: 74px;
  padding: 12px;
  border: 0;
  color: inherit;
  background: transparent;
  text-align: left;
  cursor: pointer;
}
body.owner-dashboard-route .owner-exec-actions-panel ol li > button:hover,
body.owner-dashboard-route .owner-exec-actions-panel ol li > button:focus-visible {
  background: #f1f6f8;
  outline: 2px solid #7392a5;
  outline-offset: -2px;
}
body.owner-dashboard-route .owner-exec-actions-panel ol li > button span {
  grid-row: 1 / 3;
}
body.owner-dashboard-route .owner-exec-actions-panel ol li > button b,
body.owner-dashboard-route .owner-exec-actions-panel ol li > button strong {
  grid-column: 2;
}
body.owner-dashboard-route .owner-exec-actions-panel ol li > button i {
  grid-column: 3;
  grid-row: 1 / 3;
  align-self: center;
  color: #456a7e;
  font-size: 10px;
  font-style: normal;
  font-weight: 850;
  white-space: nowrap;
}
body.owner-dashboard-route .owner-dashboard-trust-zone {
  margin-top: 12px;
  padding: 20px;
  border: 1px solid #d4dfe4;
  border-radius: 13px;
  background: #f6f9fa;
}
body.owner-dashboard-route .owner-dashboard-trust-zone .model-health-strip,
body.owner-dashboard-route .owner-dashboard-trust-zone .scenario-applied-status {
  margin: 0;
  box-shadow: none;
}

.owner-kpi-decision-summary {
  display: grid;
  grid-template-columns: .75fr 1.15fr 1.35fr;
  gap: 9px;
  margin: 12px 0;
}
.owner-kpi-decision-summary article {
  display: grid;
  align-content: start;
  gap: 7px;
  min-height: 104px;
  padding: 14px;
  border: 1px solid #d1dde3;
  border-radius: 10px;
  background: #f7fafb;
}
.owner-kpi-decision-summary article.action {
  border-color: #b4c98e;
  background: #f6faed;
}
.owner-kpi-decision-summary span {
  color: #687c87;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.owner-kpi-decision-summary strong {
  color: #18303d;
  font-size: 13px;
  line-height: 1.42;
}
.owner-kpi-decision-summary article.action strong { color: #314b12; }

@media (max-width: 1180px) {
  body.owner-dashboard-route .owner-exec-unified .owner-exec-primary-grid,
  body.owner-dashboard-route .owner-exec-unified .owner-exec-secondary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 720px) {
  body.owner-dashboard-route .owner-dashboard-section-head { align-items: start; flex-direction: column; gap: 6px; }
  body.owner-dashboard-route .owner-dashboard-section-head small { max-width: none; text-align: left; }
  body.owner-dashboard-route .owner-exec-unified .owner-exec-primary-grid,
  body.owner-dashboard-route .owner-exec-unified .owner-exec-secondary-grid,
  .owner-kpi-decision-summary { grid-template-columns: minmax(0, 1fr); }
  body.owner-dashboard-route .owner-exec-primary-grid .owner-exec-kpi,
  body.owner-dashboard-route .owner-exec-secondary-grid .owner-exec-kpi { min-height: 0; }
  body.owner-dashboard-route .owner-dashboard-trust-zone { padding: 13px; }
}

/* Market site, secure sign-in, and controlled tester administration */
.actionable-site-header a { text-decoration: none; }
.actionable-site-header nav a { color: inherit; font-weight: 700; }
.actionable-site-header nav a.active { color: #087f8c; }
.login-help { display: flex; justify-content: space-between; gap: 16px; font-size: 13px; }
.login-help a { color: #2d6f86; font-weight: 750; }
.market-page { color: #102337; background: #f4f7f8; }
.market-hero { min-height: 520px; padding: 110px max(6vw, 48px) 88px; background: radial-gradient(circle at 80% 20%,rgba(18,149,158,.19),transparent 34%),linear-gradient(135deg,#071426,#102d40); color:#fff; }
.market-hero.compact { min-height: 390px; }
.market-hero > span,.market-section-copy > span,.market-cta > span,.contact-copy > span { color:#d7f500; font-size:12px; font-weight:900; letter-spacing:.16em; }
.market-hero h1 { max-width: 960px; margin:18px 0; font-size:clamp(42px,6vw,76px); line-height:.98; letter-spacing:-.04em; }
.market-hero p { max-width:760px; margin:0 0 30px; color:#c7d3dc; font-size:20px; line-height:1.5; }
.market-hero > div { display:flex; flex-wrap:wrap; gap:12px; }
.market-proof-strip { display:grid; grid-template-columns:repeat(4,1fr); margin:-34px max(5vw,32px) 0; position:relative; border-radius:18px; overflow:hidden; box-shadow:0 20px 55px rgba(10,27,42,.14); }
.market-proof-strip article { min-height:128px; padding:27px; background:#fff; border-right:1px solid #dce4e8; }
.market-proof-strip b { display:block; margin-bottom:9px; font-size:18px; }
.market-proof-strip span { color:#647585; line-height:1.45; }
.market-section { padding:90px max(6vw,48px); }
.market-section.dark { color:#fff; background:#0b1b2d; }
.market-section-copy { max-width:780px; }
.market-section-copy > span { color:#087f8c; }
.market-section.dark .market-section-copy > span { color:#d7f500; }
.market-section-copy h2,.market-cta h2 { margin:12px 0 18px; font-size:clamp(32px,4vw,54px); line-height:1.05; letter-spacing:-.035em; }
.market-section-copy p { color:#607181; font-size:18px; line-height:1.55; }
.market-feature-grid,.market-module-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:42px; }
.market-feature-grid article,.market-module-grid article { padding:28px; border:1px solid #dce4e8; border-radius:16px; background:#fff; }
.market-feature-grid b,.market-module-grid b { display:block; font-size:20px; }
.market-feature-grid p,.market-module-grid p { color:#647585; line-height:1.5; }
.market-module-grid { grid-template-columns:repeat(4,1fr); }
.market-module-grid article { color:#fff; border-color:#294052; background:#10283b; }
.market-module-grid article > span { display:block; color:#d7f500; margin-bottom:24px; font-weight:900; }
.market-module-grid p { color:#adc0cd; }
.market-cta { padding:90px max(6vw,48px); text-align:center; background:#d7f500; color:#102337; }
.market-cta > span { color:#335000; }
.market-cta h2 { max-width:880px; margin:15px auto 30px; }
.solution-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; padding:70px max(6vw,48px); }
.solution-grid article { padding:38px; border:1px solid #d8e2e6; border-radius:18px; background:#fff; }
.solution-grid article > span { color:#087f8c; font-weight:900; letter-spacing:.12em; }
.solution-grid h2 { margin:14px 0; font-size:30px; }
.solution-grid p,.solution-grid li { color:#637585; line-height:1.55; }
.solution-grid ul { padding-left:20px; }
.contact-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(420px,620px); gap:70px; min-height:calc(100vh - 100px); padding:90px max(7vw,52px); background:radial-gradient(circle at 20% 10%,rgba(18,149,158,.18),transparent 35%),#071426; color:#fff; }
.contact-copy h1 { margin:18px 0; font-size:clamp(42px,5vw,68px); line-height:1; letter-spacing:-.04em; }
.contact-copy > p { color:#b8c9d5; font-size:19px; line-height:1.55; }
.contact-expect { display:grid; gap:12px; margin-top:38px; }
.contact-expect article { display:flex; gap:18px; align-items:center; padding:17px; border:1px solid #294052; border-radius:12px; background:#0d2236; }
.contact-expect b { min-width:110px; color:#d7f500; }
.market-contact-form { align-self:start; display:grid; gap:15px; padding:34px; border-radius:18px; background:#fff; color:#102337; box-shadow:0 30px 80px rgba(0,0,0,.3); }
.market-contact-form label,.demo-user-create label { display:grid; gap:6px; font-weight:750; }
.market-contact-form input,.market-contact-form select,.market-contact-form textarea,.demo-user-create input,.demo-user-create textarea,.demo-audit-panel input,.demo-audit-panel select { width:100%; padding:12px 13px; border:1px solid #cbd7dc; border-radius:8px; background:#fff; color:#102337; font:inherit; }
.market-contact-form textarea,.demo-user-create textarea { resize:vertical; }
.demo-admin-page { display:grid; gap:16px; padding:18px; background:#f3f6f7; }
.demo-readonly-banner { display:flex; align-items:center; gap:14px; min-height:40px; padding:8px 18px; border-bottom:1px solid #d5b13a; background:#fff7d8; color:#573e00; font-size:12px; }
.demo-readonly-banner strong { white-space:nowrap; text-transform:uppercase; letter-spacing:.08em; }
.demo-readonly-banner span { color:#6e5a22; }
.demo-admin-hero { display:flex; justify-content:space-between; gap:28px; padding:28px; border-radius:14px; background:#071426; color:#fff; }
.demo-admin-hero > div:first-child { max-width:760px; }
.demo-admin-hero span,.demo-user-create > span,.demo-user-list header span,.demo-audit-panel header span { color:#087f8c; font-size:11px; font-weight:900; letter-spacing:.13em; }
.demo-admin-hero h2 { margin:8px 0; font-size:30px; }
.demo-admin-hero p { color:#b9c8d2; }
.demo-admin-stats { display:flex; gap:10px; }
.demo-admin-stats article { min-width:110px; padding:15px; border:1px solid #294052; border-radius:10px; background:#10283b; }
.demo-admin-stats b,.demo-admin-stats span { display:block; }
.demo-admin-stats b { color:#d7f500; font-size:25px; }
.demo-admin-stats span { color:#b9c8d2; letter-spacing:0; }
.demo-admin-grid { display:grid; grid-template-columns:330px minmax(0,1fr); gap:16px; }
.demo-user-create,.demo-user-list,.demo-audit-panel { padding:22px; border:1px solid #d8e1e5; border-radius:14px; background:#fff; }
.demo-user-create { display:grid; gap:12px; align-content:start; }
.demo-user-create h3,.demo-user-list h3,.demo-audit-panel h3 { margin:3px 0 12px; }
.demo-user-list { display:grid; gap:8px; align-content:start; }
.demo-user-list > article { display:grid; grid-template-columns:minmax(230px,1fr) minmax(220px,1fr) auto; gap:16px; align-items:center; padding:13px; border:1px solid #e0e7ea; border-radius:10px; }
.demo-user-list > article.inactive { opacity:.55; background:#f2f4f5; }
.demo-user-id { display:flex; align-items:center; gap:12px; }
.demo-user-id > b { display:grid; place-items:center; width:38px; height:38px; border-radius:50%; background:#0d5264; color:#fff; }
.demo-user-id span,.demo-user-list article > div:nth-child(2),.demo-audit-panel td span { display:grid; gap:3px; }
.demo-user-id em,.demo-user-list small { color:#6c7c88; font-style:normal; }
.demo-user-actions { display:flex; gap:7px; }
.demo-credential-result { display:grid; gap:6px; padding:12px; border-radius:8px; background:#eef9dc; overflow-wrap:anywhere; }
.demo-credential-result:empty { display:none; }
.demo-credential-result code { padding:8px; background:#102337; color:#fff; border-radius:6px; user-select:all; }
.demo-audit-panel header { display:flex; justify-content:space-between; gap:20px; align-items:end; }
.demo-audit-panel header > div:last-child { display:flex; gap:8px; }
.demo-audit-panel table { min-width:1100px; width:100%; border-collapse:collapse; }
.demo-audit-panel th,.demo-audit-panel td { padding:10px; border-bottom:1px solid #e1e7ea; text-align:left; vertical-align:top; font-size:12px; }

@media(max-width:900px){.market-proof-strip,.market-feature-grid,.market-module-grid,.solution-grid{grid-template-columns:1fr 1fr}.contact-layout,.demo-admin-grid{grid-template-columns:1fr}.demo-admin-hero{display:grid}.demo-user-list>article{grid-template-columns:1fr}.public-subpage-header nav{display:none}}
@media(max-width:600px){.market-hero,.market-section,.market-cta,.contact-layout{padding-left:22px;padding-right:22px}.market-proof-strip,.market-feature-grid,.market-module-grid,.solution-grid{grid-template-columns:1fr}.market-proof-strip{margin-left:14px;margin-right:14px}.demo-admin-stats{display:grid;grid-template-columns:repeat(3,1fr)}.demo-admin-stats article{min-width:0}.public-subpage-header .actionable-primary-button{display:none}}

/* Popup information audit — readable hierarchy, source-backed week/event proof, and compact controls. */
.owner-popup-modal.owner-executive-modal > h3,
.owner-popup-modal.owner-week-story-modal > h3,
.owner-popup-modal.owner-event-modal > h3,
.owner-popup-modal.owner-visual-modal > h3 {
  color: #fff !important;
  text-shadow: none !important;
}

.owner-popup-modal.owner-executive-modal > h3::before,
.owner-popup-modal.owner-week-story-modal > h3::before,
.owner-popup-modal.owner-event-modal > h3::before,
.owner-popup-modal.owner-visual-modal > h3::before {
  color: #cbd5da !important;
}

.owner-popup-modal.owner-executive-modal .modal-body {
  padding: 12px 16px 14px;
}

.owner-popup-workspace.week-story-proof,
.owner-popup-workspace.event-detail,
.owner-popup-workspace.kpi-proof {
  align-content: start;
  gap: 10px;
}

.owner-popup-workspace.week-story-proof .owner-popup-conclusion,
.owner-popup-workspace.event-detail .owner-popup-conclusion {
  min-height: 0;
  padding: 10px 12px;
}

.owner-week-story-first {
  grid-template-columns: minmax(0, 1.35fr) minmax(340px, .65fr);
  gap: 10px;
}

.owner-week-readout-v3 {
  display: grid;
  align-content: start;
  gap: 10px;
}

.owner-week-cash-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.owner-week-cash-facts article {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 10px;
  border: 1px solid #dde2df;
  border-top: 3px solid #667783;
  border-radius: 8px;
  background: #fff;
}

.owner-week-cash-facts article.inflow,
.owner-week-cash-facts article.good { border-top-color: #238654; }
.owner-week-cash-facts article.outflow,
.owner-week-cash-facts article.risk { border-top-color: #bf4439; }

.owner-week-cash-facts span {
  color: #64727a;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.owner-week-cash-facts strong {
  color: #101820;
  font-size: 20px;
  font-weight: 900;
  line-height: 1.05;
}

.owner-week-cash-facts em {
  color: #5d696f;
  font-size: 11px;
  font-style: normal;
  font-weight: 650;
  line-height: 1.3;
}

.owner-event-specific > div {
  grid-template-columns: repeat(3, minmax(190px, 1fr));
}

.owner-event-specific span {
  min-height: 82px;
  align-content: start;
}

.owner-event-specific strong {
  overflow: visible;
  font-size: 14px;
  line-height: 1.25;
  text-overflow: clip;
  white-space: normal;
}

.owner-event-specific em {
  font-size: 11.5px;
  line-height: 1.35;
}

.owner-kpi-proof-hero {
  padding: 10px 12px;
}

.owner-kpi-proof-hero strong {
  font-size: clamp(30px, 3.2vw, 44px);
}

.owner-kpi-proof-basis {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  margin: 0;
  padding: 8px 10px;
  border: 1px solid #ead9a9;
  border-radius: 7px;
  background: #fffaf0;
}

.owner-kpi-proof-basis b {
  color: #725700;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .04em;
  text-transform: uppercase;
  white-space: nowrap;
}

.owner-kpi-proof-basis span {
  color: #4e5558;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.35;
}

.owner-model-controls-popup .scenario-control-shell {
  display: grid;
  gap: 10px;
  padding: 12px;
}

.owner-model-controls-popup .owner-scenario-state {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
}

.owner-model-controls-popup .owner-plan-picker.owner-scenario-builder {
  display: grid;
  grid-template-columns: repeat(6, minmax(125px, 1fr));
  gap: 9px;
  align-items: end;
}

.owner-model-controls-popup .owner-plan-picker label,
.owner-model-controls-popup .owner-plan-picker input,
.owner-model-controls-popup .owner-plan-picker select {
  width: 100%;
  min-width: 0;
}

.owner-model-controls-popup .owner-scenario-delta-grid,
.owner-model-controls-popup .scenario-compare-table-wrap,
.owner-model-controls-popup .owner-scenario-feedback,
.owner-model-controls-popup .owner-plan-actions {
  grid-column: 1 / -1;
}

.owner-model-controls-popup .owner-scenario-delta-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
}

.owner-model-controls-popup .owner-plan-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  margin: 0;
}

@media (max-width: 1100px) {
  .owner-week-story-first { grid-template-columns: 1fr; }
  .owner-model-controls-popup .owner-scenario-state,
  .owner-model-controls-popup .owner-scenario-delta-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .owner-model-controls-popup .owner-plan-picker.owner-scenario-builder { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
  .owner-week-cash-facts,
  .owner-event-specific > div,
  .owner-model-controls-popup .owner-scenario-state,
  .owner-model-controls-popup .owner-scenario-delta-grid,
  .owner-model-controls-popup .owner-plan-picker.owner-scenario-builder { grid-template-columns: 1fr; }
  .owner-kpi-proof-basis { grid-template-columns: 1fr; }
}
/* Login shell overrides live last so workspace mobile rules cannot widen it. */
@media(max-width:760px){
 body.auth-login-active,body.auth-login-active #app,body.auth-login-active main.content,body.auth-login-active #view{width:100vw!important;max-width:100vw!important;min-width:0!important;overflow-x:hidden!important}
 body.auth-login-active .login-page{box-sizing:border-box!important;width:100vw!important;max-width:100vw!important;min-width:0!important;padding:12px!important;overflow-x:hidden!important}
 body.auth-login-active .login-card{box-sizing:border-box!important;width:calc(100vw - 24px)!important;max-width:calc(100vw - 24px)!important;min-width:0!important;grid-template-columns:minmax(0,1fr)!important;overflow:hidden!important}
 body.auth-login-active .login-intro,body.auth-login-active .login-panel,body.auth-login-active .login-legal-links{box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important}
 body.auth-login-active .login-intro h1,body.auth-login-active .login-intro p,body.auth-login-active .login-brand,body.auth-login-active .login-brand strong{max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere!important}
 body.auth-login-active .login-panel input{width:100%!important;max-width:100%!important;min-width:0!important}
}

/* Actionable public product site — NexEra suite visual language */
body.public-landing-active {
  margin: 0;
  min-width: 0;
  color: #edf6ff;
  background: #071426;
  overflow-x: hidden;
}
body.public-landing-active .sidebar,
body.public-landing-active .topbar,
body.public-landing-active .mobile-scrim { display: none !important; }
body.public-landing-active #app,
body.public-landing-active .content,
body.public-landing-active #view {
  display: block;
  width: 100%;
  max-width: none;
  min-width: 0;
  min-height: 100%;
  margin: 0;
  padding: 0;
  overflow: visible;
  background: #071426;
}
.actionable-landing,
.actionable-landing * { box-sizing: border-box; }
.actionable-landing {
  --site-navy: #071426;
  --site-panel: #0b1d33;
  --site-panel-2: #0c223d;
  --site-line: #244667;
  --site-text: #edf6ff;
  --site-muted: #9db0c3;
  --site-accent: #d7f500;
  --site-accent-dark: #152000;
  width: 100%;
  min-height: 100vh;
  color: var(--site-text);
  background:
    radial-gradient(circle at 76% 8%, rgba(36, 84, 110, .3), transparent 32rem),
    var(--site-navy);
  font-family: var(--app-font);
}
.actionable-landing button,
.actionable-landing a { font: inherit; }
.actionable-site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  display: grid;
  grid-template-columns: minmax(250px, 1fr) auto minmax(250px, 1fr);
  align-items: center;
  gap: 26px;
  min-height: 78px;
  padding: 12px clamp(22px, 4vw, 72px);
  border-bottom: 1px solid rgba(117, 155, 188, .25);
  background: rgba(7, 20, 38, .92);
  backdrop-filter: blur(18px);
}
.actionable-site-brand {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  width: fit-content;
  color: var(--site-text);
  text-decoration: none;
}
.actionable-site-mark {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border: 1px solid rgba(215, 245, 0, .55);
  border-radius: 9px;
  color: var(--site-accent);
  background: linear-gradient(145deg, #102d32, #0b1a2d);
  font-size: 22px;
  font-weight: 900;
  box-shadow: inset 0 0 18px rgba(215, 245, 0, .08);
}
.actionable-site-brand > span:last-child { display: grid; gap: 1px; }
.actionable-site-brand strong { font-size: 17px; letter-spacing: .01em; }
.actionable-site-brand small { color: var(--site-muted); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.actionable-site-header > nav { display: flex; flex: none; flex-direction: row; align-items: center; gap: 4px; padding: 0; }
.actionable-site-header > nav button {
  border: 0;
  padding: 9px 11px;
  color: #bdd0e1;
  background: transparent;
  font-size: 13px;
  cursor: pointer;
}
.actionable-site-header > nav button:hover { color: #fff; }
.actionable-site-actions { display: flex; justify-content: flex-end; align-items: center; gap: 10px; }
.actionable-primary-button,
.actionable-link-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 10px 17px;
  border: 1px solid var(--site-accent);
  border-radius: 7px;
  text-decoration: none;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
}
.actionable-primary-button { color: var(--site-accent-dark); background: var(--site-accent); }
.actionable-primary-button:hover { background: #e8ff43; }
.actionable-link-button { color: #e8f2fb; background: transparent; border-color: #46617d; }
.actionable-link-button:hover { border-color: #7d9ab5; background: rgba(255,255,255,.035); }
.actionable-hero {
  display: grid;
  grid-template-columns: minmax(0, .86fr) minmax(570px, 1.14fr);
  align-items: center;
  gap: clamp(36px, 5vw, 82px);
  min-height: 720px;
  max-width: 1540px;
  margin: 0 auto;
  padding: 92px clamp(28px, 5.5vw, 90px) 112px;
}
.actionable-hero-copy { max-width: 650px; }
.actionable-eyebrow {
  display: block;
  color: var(--site-accent);
  font-size: 11px;
  line-height: 1.35;
  font-weight: 850;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.actionable-hero h1 {
  margin: 16px 0 12px;
  color: #fff;
  font-size: clamp(68px, 8vw, 124px);
  line-height: .88;
  letter-spacing: -.065em;
}
.actionable-hero-lede {
  max-width: 630px;
  margin: 28px 0 0;
  color: #bfd0df;
  font-size: clamp(18px, 1.65vw, 24px);
  line-height: 1.52;
}
.actionable-hero-actions { display: flex; gap: 12px; margin-top: 34px; }
.actionable-trust-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 52px;
}
.actionable-trust-row article {
  min-width: 0;
  padding: 13px 12px;
  border: 1px solid #203d59;
  border-radius: 8px;
  background: rgba(14, 39, 66, .54);
}
.actionable-trust-row span,
.actionable-trust-row strong { display: block; }
.actionable-trust-row span { color: #7893ac; font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.actionable-trust-row strong { margin-top: 6px; color: #dce8f2; font-size: 12px; line-height: 1.3; }
.actionable-product-frame {
  position: relative;
  overflow: hidden;
  min-width: 0;
  border: 1px solid #315779;
  border-radius: 13px;
  background: #eaf0f3;
  box-shadow: 0 34px 80px rgba(0, 0, 0, .42), 0 0 0 8px rgba(70, 104, 132, .07);
  transform: perspective(1300px) rotateY(-2deg) rotateX(1deg);
}
.actionable-product-frame::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  box-shadow: inset 0 0 55px rgba(14, 47, 69, .1);
}
.actionable-preview-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 44px;
  padding: 8px 13px;
  color: #c6d6e5;
  background: #091827;
  font-size: 9px;
}
.actionable-preview-bar > span:last-child { display: flex; align-items: center; gap: 7px; }
.actionable-preview-bar i { padding: 4px 6px; border-radius: 4px; color: #0b2b1e; background: #8de1b9; font-style: normal; font-weight: 800; }
.actionable-preview-brand { display: flex; align-items: center; gap: 7px; font-size: 12px; font-weight: 800; }
.actionable-preview-brand b { display: grid; place-items: center; width: 23px; height: 23px; border: 1px solid #7493ab; border-radius: 5px; color: var(--site-accent); }
.actionable-preview-shell { display: grid; grid-template-columns: 126px minmax(0, 1fr); min-height: 480px; color: #172a38; }
.actionable-preview-shell > aside { display: flex; flex-direction: column; gap: 3px; padding: 18px 10px; color: #8394a2; background: #102438; font-size: 9px; }
.actionable-preview-shell > aside strong { margin: 0 6px 12px; color: #e5eef5; font-size: 10px; }
.actionable-preview-shell > aside span { padding: 8px 7px; border-radius: 4px; }
.actionable-preview-shell > aside span.active { color: #f4ffd1; background: rgba(215, 245, 0, .13); box-shadow: inset 2px 0 var(--site-accent); }
.actionable-preview-shell > section { min-width: 0; padding: 24px; background: linear-gradient(140deg, #f6f9fa, #e5edf1); }
.actionable-preview-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.actionable-preview-heading small { color: #6a7c87; font-size: 8px; letter-spacing: .11em; font-weight: 800; }
.actionable-preview-heading h2 { margin: 5px 0 0; font-size: 20px; letter-spacing: -.02em; }
.actionable-preview-heading > span { padding: 5px 7px; border-radius: 999px; color: #0b6e4f; background: #d7f4e8; font-size: 8px; font-weight: 800; }
.actionable-preview-kpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 18px; }
.actionable-preview-kpis article { display: grid; gap: 4px; padding: 11px; border: 1px solid #c9d6dc; border-left: 3px solid #1f9d74; border-radius: 6px; background: #fff; }
.actionable-preview-kpis article.risk { border-left-color: #e6a126; }
.actionable-preview-kpis span { color: #697c87; font-size: 8px; text-transform: uppercase; }
.actionable-preview-kpis strong { color: #122a39; font-size: 18px; }
.actionable-preview-kpis small { color: #4c7a68; font-size: 8px; }
.actionable-decision-card { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 13px; margin-top: 14px; padding: 15px; border: 1px solid #b8cbd4; border-radius: 7px; background: #fff; box-shadow: 0 6px 18px rgba(28, 57, 71, .08); }
.actionable-decision-rank { display: grid; place-items: center; width: 31px; height: 31px; border-radius: 50%; color: #142500; background: var(--site-accent); font-size: 10px; font-weight: 900; }
.actionable-decision-card span { color: #547181; font-size: 7px; font-weight: 850; letter-spacing: .08em; }
.actionable-decision-card h3 { margin: 5px 0; font-size: 13px; line-height: 1.25; }
.actionable-decision-card p { margin: 0; color: #617581; font-size: 9px; line-height: 1.45; }
.actionable-decision-metrics { display: flex; gap: 8px; align-items: center; }
.actionable-decision-metrics b { min-width: 58px; color: #163445; font-size: 14px; }
.actionable-decision-metrics small { display: block; margin-top: 3px; color: #788993; font-size: 7px; font-weight: 500; }
.actionable-preview-proof { display: flex; align-items: center; gap: 7px; margin-top: 18px; color: #657985; font-size: 8px; }
.actionable-preview-proof i { flex: 1; height: 1px; background: #a9bbc4; }
.actionable-preview-proof strong { color: #274a3c; }
.actionable-section {
  max-width: 1380px;
  margin: 0 auto;
  padding: 112px clamp(28px, 6vw, 96px);
  scroll-margin-top: 78px;
}
.actionable-section-heading { max-width: 760px; }
.actionable-section h2,
.actionable-final-cta h2 { margin: 14px 0; color: #fff; font-size: clamp(38px, 5vw, 68px); line-height: 1.04; letter-spacing: -.045em; }
.actionable-section-heading > p,
.actionable-method-copy > p,
.actionable-evidence-copy > p { color: var(--site-muted); font-size: 18px; line-height: 1.62; }
.actionable-product-section { border-top: 1px solid rgba(67, 103, 134, .35); }
.actionable-feature-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 48px; }
.actionable-feature-grid article { min-height: 300px; padding: 28px; border: 1px solid var(--site-line); border-radius: 10px; background: linear-gradient(145deg, #0d2239, #091a2d); }
.actionable-feature-grid article > span { color: var(--site-accent); font-size: 12px; font-weight: 900; }
.actionable-feature-grid h3 { margin: 54px 0 12px; font-size: 25px; }
.actionable-feature-grid p { color: var(--site-muted); line-height: 1.55; }
.actionable-feature-grid strong { display: block; margin-top: 24px; color: #dbe8f1; font-size: 13px; }
.actionable-method-section { display: grid; grid-template-columns: minmax(0, .85fr) minmax(500px, 1.15fr); gap: 90px; align-items: center; }
.actionable-text-link { display: inline-flex; gap: 10px; margin-top: 16px; color: var(--site-accent); text-decoration: none; font-weight: 800; }
.actionable-method-flow { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
.actionable-method-flow li { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 15px; padding: 18px; border: 1px solid #24445f; border-radius: 8px; background: #0a1e34; }
.actionable-method-flow li > b { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid #55728b; border-radius: 50%; color: var(--site-accent); }
.actionable-method-flow div { display: grid; gap: 4px; }
.actionable-method-flow strong { font-size: 16px; }
.actionable-method-flow span { color: var(--site-muted); font-size: 13px; line-height: 1.4; }
.actionable-evidence-section { display: grid; grid-template-columns: minmax(440px, 1fr) minmax(0, .9fr); gap: 90px; align-items: center; }
.actionable-evidence-visual { display: grid; gap: 9px; padding: 27px; border: 1px solid #315575; border-radius: 12px; background: linear-gradient(150deg, #0c243d, #08182b); box-shadow: 0 26px 60px rgba(0,0,0,.24); }
.actionable-evidence-visual > span { color: var(--site-accent); font-size: 9px; font-weight: 850; letter-spacing: .13em; }
.actionable-evidence-visual > strong { margin-bottom: 12px; font-size: 27px; }
.actionable-evidence-visual > div { display: grid; grid-template-columns: 9px 1fr auto; gap: 10px; align-items: center; padding: 13px; border: 1px solid #244a68; border-radius: 6px; background: #0e2a45; }
.actionable-evidence-visual i { width: 8px; height: 8px; border-radius: 50%; background: var(--site-accent); box-shadow: 0 0 0 4px rgba(215,245,0,.09); }
.actionable-evidence-visual b { font-size: 13px; }
.actionable-evidence-visual small { color: #90a8bb; font-size: 10px; }
.actionable-evidence-copy ul { display: grid; gap: 9px; margin: 24px 0 0; padding: 0; list-style: none; }
.actionable-evidence-copy li { color: #d5e2ec; font-size: 14px; }
.actionable-evidence-copy li::before { content: '✓'; margin-right: 10px; color: var(--site-accent); font-weight: 900; }
.actionable-suite-section { max-width: none; padding-inline: max(clamp(28px, 6vw, 96px), calc((100vw - 1380px) / 2 + 96px)); background: #09192d; border-block: 1px solid #1d3a55; }
.actionable-suite-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 42px; }
.actionable-suite-grid > * { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 18px; min-height: 230px; padding: 27px; border: 1px solid #294a67; border-radius: 10px; color: inherit; background: #0b2139; text-decoration: none; }
.actionable-suite-grid > a:hover { border-color: #497495; transform: translateY(-2px); }
.actionable-suite-mark { display: grid; place-items: center; width: 50px; height: 50px; border: 1px solid; border-radius: 11px; font-size: 27px; font-weight: 900; }
.actionable-suite-mark.accountable { color: #2ecc9a; border-color: #2ecc9a; }
.actionable-suite-mark.actionable { color: var(--site-accent); border-color: var(--site-accent); }
.actionable-suite-grid small { color: #7490a8; font-size: 9px; letter-spacing: .13em; }
.actionable-suite-grid h3 { margin: 7px 0 8px; font-size: 28px; }
.actionable-suite-grid p { margin: 0; color: var(--site-muted); line-height: 1.5; }
.actionable-suite-grid > * > strong { grid-column: 2; align-self: end; color: #d8e5ee; font-size: 12px; }
.actionable-final-cta { display: grid; place-items: center; min-height: 460px; padding: 100px 25px; text-align: center; background: radial-gradient(circle, rgba(46, 103, 93, .22), transparent 38%), #071426; }
.actionable-final-cta h2 { max-width: 760px; }
.actionable-final-cta > div { display: flex; gap: 10px; margin-top: 20px; }
.actionable-site-footer { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 30px; padding: 38px clamp(25px, 5vw, 76px); border-top: 1px solid #213c57; color: var(--site-muted); background: #06111f; }
.actionable-site-footer p { font-size: 12px; }
.actionable-site-footer nav { display: flex; flex: none; flex-direction: row; gap: 18px; padding: 0; }
.actionable-site-footer nav a { color: #aabed0; font-size: 12px; text-decoration: none; }
.actionable-site-footer > small { grid-column: 1 / -1; color: #61788d; font-size: 10px; }

/* Login shares the NexEra suite frame while retaining Actionable's product accent. */
body.auth-login-active,
body.auth-login-active .login-page { background: #071426 !important; }
body.auth-login-active .login-card { border-color: #315575; box-shadow: 0 32px 90px rgba(0, 0, 0, .48); }
body.auth-login-active .login-intro { background: radial-gradient(circle at 30% 20%, rgba(45, 91, 96, .34), transparent 50%), #0a1c31; }
body.auth-login-active .login-brand .brand-mark { color: #d7f500; border-color: rgba(215, 245, 0, .6); background: #10283b; }
body.auth-login-active .login-intro-copy > span,
body.auth-login-active .login-eyebrow { color: #d7f500; }
body.auth-login-active .login-submit { color: #152000; background: #d7f500; border-color: #d7f500; }

@media (max-width: 1120px) {
  .actionable-site-header { grid-template-columns: 1fr auto; }
  .actionable-site-header > nav { display: none; }
  .actionable-hero { grid-template-columns: 1fr; }
  .actionable-hero-copy { max-width: 800px; }
  .actionable-product-frame { max-width: 900px; transform: none; }
  .actionable-method-section,
  .actionable-evidence-section { gap: 48px; }
}
@media (max-width: 820px) {
  .actionable-site-header { min-height: 68px; padding: 10px 16px; }
  .actionable-site-brand small { display: none; }
  .actionable-site-actions .actionable-link-button { display: none; }
  .actionable-site-actions .actionable-primary-button { min-height: 38px; padding: 8px 11px; }
  .actionable-hero { min-height: auto; padding: 72px 20px 80px; }
  .actionable-hero h1 { font-size: clamp(60px, 18vw, 92px); }
  .actionable-trust-row,
  .actionable-feature-grid,
  .actionable-suite-grid { grid-template-columns: 1fr; }
  .actionable-preview-shell { grid-template-columns: 88px minmax(0, 1fr); }
  .actionable-preview-shell > aside { padding-inline: 7px; }
  .actionable-preview-shell > section { padding: 16px; }
  .actionable-decision-card { grid-template-columns: auto minmax(0, 1fr); }
  .actionable-decision-metrics { grid-column: 2; }
  .actionable-method-section,
  .actionable-evidence-section { grid-template-columns: 1fr; }
  .actionable-section { padding: 82px 20px; }
  .actionable-section h2,
  .actionable-final-cta h2 { font-size: clamp(36px, 11vw, 56px); }
  .actionable-site-footer { grid-template-columns: 1fr; gap: 17px; }
  .actionable-site-footer nav { flex-wrap: wrap; }
  .actionable-site-footer > small { grid-column: auto; }
}
@media (max-width: 540px) {
  .actionable-site-brand strong { font-size: 15px; }
  .actionable-site-mark { width: 34px; height: 34px; flex-basis: 34px; }
  .actionable-hero { padding-top: 58px; }
  .actionable-hero-lede { font-size: 17px; }
  .actionable-hero-actions { align-items: stretch; flex-direction: column; }
  .actionable-trust-row { margin-top: 34px; }
  .actionable-product-frame { margin-inline: -8px; }
  .actionable-preview-bar > span:last-child { display: none; }
  .actionable-preview-shell { grid-template-columns: 1fr; }
  .actionable-preview-shell > aside { display: none; }
  .actionable-preview-kpis { grid-template-columns: 1fr 1fr; }
  .actionable-preview-kpis article:last-child { grid-column: 1 / -1; }
  .actionable-decision-card { grid-template-columns: 1fr; }
  .actionable-decision-rank { display: none; }
  .actionable-decision-metrics { grid-column: auto; }
  .actionable-preview-proof { flex-wrap: wrap; }
  .actionable-preview-proof i { min-width: 18px; }
  .actionable-feature-grid article { min-height: 250px; }
  .actionable-feature-grid h3 { margin-top: 34px; }
  .actionable-evidence-visual { padding: 17px; }
  .actionable-evidence-visual > div { grid-template-columns: 9px 1fr; }
  .actionable-evidence-visual small { grid-column: 2; }
  .actionable-suite-grid > * { grid-template-columns: 1fr; }
  .actionable-suite-grid > * > strong { grid-column: auto; }
  .actionable-final-cta > div { width: 100%; flex-direction: column; }
}

/* Release-candidate metadata and offline-native forecast visuals. */
.release-build{display:inline-flex;align-items:center;width:max-content;border:1px solid rgba(255,255,255,.22);border-radius:999px;padding:3px 8px;font-size:10px;font-weight:800;letter-spacing:.04em;color:var(--text-inverse,#fff)}
.native-forecast-chart{display:grid;gap:9px;min-height:230px;padding:12px 4px;align-content:center}
.native-forecast-chart>div{display:grid;grid-template-columns:minmax(62px,90px) minmax(120px,1fr) minmax(68px,auto);gap:9px;align-items:center;font-size:11px}
.native-forecast-chart i{display:block;height:12px;border-radius:999px;background:var(--surface-muted,#e5e7eb);overflow:hidden}
.native-forecast-chart i b{display:block;height:100%;border-radius:inherit;background:#1f6feb}
.native-forecast-chart i b.forecast{background:#9db8e8}
.native-forecast-chart strong{text-align:right;font-variant-numeric:tabular-nums}
@media(max-width:480px){.native-forecast-chart>div{grid-template-columns:58px minmax(90px,1fr) 62px;gap:6px}.native-forecast-chart{padding-inline:0}}
@media(max-width:760px){
 body:has(.opmon-workspace) .topbar{box-sizing:border-box;width:100dvw;max-width:100dvw;overflow:hidden}
 body:has(.opmon-workspace) .topbar-title h1{max-width:270px;white-space:normal!important;overflow-wrap:anywhere}
 body:has(.opmon-workspace) .topbar-actions{box-sizing:border-box;width:100%;max-width:100%;overflow:hidden}
 body:has(.opmon-workspace) .page-actions{box-sizing:border-box;width:100%!important;max-width:100%!important;overflow-x:auto!important}
 #view:has(.opmon-workspace){box-sizing:border-box!important;width:100dvw!important;max-width:100dvw!important;padding:12px!important;overflow-x:hidden!important}
 .opmon-workspace{box-sizing:border-box!important;width:calc(100dvw - 24px)!important;max-width:calc(100dvw - 24px)!important;min-width:0!important;overflow:hidden!important}
 .opmon-workspace>*{box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important}
 .opmon-hero{grid-template-columns:minmax(0,1fr)!important;padding:16px!important;overflow:hidden!important}
 .opmon-hero>div,.opmon-hero>aside{box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;overflow:hidden!important}
 .opmon-hero h2,.opmon-hero p,.opmon-workspace h3,.opmon-workspace span,.opmon-workspace small,.opmon-workspace b{max-width:100%;white-space:normal!important;overflow-wrap:anywhere}
 .opmon-hero>div>div{display:flex;flex-wrap:wrap!important;overflow:visible!important}
 .opmon-highest-grid,.opmon-health-grid,.opmon-incidents,.opmon-policy-grid{grid-template-columns:minmax(0,1fr)}
 .opmon-drawer{width:100dvw;max-width:100dvw}
}

.client-create-grid,
.client-package-import {
  display: grid;
  grid-template-columns: minmax(220px, 1.2fr) minmax(150px, .7fr) minmax(170px, .8fr) auto;
  gap: 8px;
  align-items: end;
  margin-top: 10px;
}
.client-create-grid label,
.client-package-import label {
  display: grid;
  gap: 4px;
  color: var(--muted);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .25px;
}
.client-create-grid input,
.client-create-grid select,
.client-package-import input {
  width: 100%;
}
.client-manager-output {
  margin-top: 10px;
  border: 1px solid var(--line);
  background: #f8fafc;
  padding: 8px 10px;
  min-height: 36px;
  display: flex;
  gap: 8px;
  align-items: center;
  overflow: hidden;
}
.client-manager-output strong {
  color: var(--ink);
  white-space: nowrap;
}
.client-manager-output span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.company-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 10px;
  margin: 0 0 12px;
}
.company-card {
  border: 1px solid var(--line);
  background: #fff;
  padding: 12px;
}
.company-card.active {
  border-color: #93c5fd;
  box-shadow: inset 3px 0 0 var(--brand);
}
.company-card-head,
.company-card-actions,
.company-card-readiness {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}
.company-card-head strong {
  display: block;
  color: var(--ink);
  font-size: 14px;
}
.company-card-head span {
  display: block;
  color: var(--muted);
  font-size: 11px;
  margin-top: 3px;
}
.company-card-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin: 10px 0;
}
.company-card-metrics div {
  background: #f8fafc;
  border: 1px solid var(--line);
  padding: 7px;
  min-width: 0;
}
.company-card-metrics b,
.company-card-metrics span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
}
.company-card-metrics b {
  color: var(--ink);
  font-size: 13px;
}
.company-card-metrics span {
  color: var(--muted);
  font-size: 10px;
  text-transform: uppercase;
}
.company-card-readiness {
  align-items: center;
  border-top: 1px solid var(--line);
  padding-top: 9px;
}
.company-card-readiness p {
  flex: 1;
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}
.company-card-actions {
  margin-top: 10px;
  justify-content: flex-start;
  flex-wrap: wrap;
}
.client-manager-scroll {
  max-height: calc(100vh - 250px);
  border: 1px solid var(--line);
}
.client-manager-table th,
.client-manager-table td {
  padding: 8px 10px;
  vertical-align: top;
}
.client-manager-table th {
  top: 0;
  z-index: 1;
}
.client-manager-table .path-cell {
  max-width: 340px;
  overflow: hidden;
  text-overflow: ellipsis;
  direction: rtl;
  text-align: left;
}
.next-action-cell {
  max-width: 260px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.row-actions {
  display: flex;
  justify-content: flex-end;
  gap: 6px;
  flex-wrap: wrap;
  min-width: 250px;
}
.client-active-row td {
  background: #f2f8ff;
}
.client-readiness-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 10px;
}
.client-readiness-head span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  margin-top: 4px;
  max-width: 520px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.client-readiness-score {
  border: 1px solid var(--line);
  background: #f8fafc;
  color: var(--brand-dark);
  font-size: 22px;
  font-weight: 800;
  padding: 8px 12px;
  min-width: 82px;
  text-align: center;
}
.client-readiness-table td:first-child {
  white-space: normal;
  min-width: 260px;
}
.onboarding-steps {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}
.onboarding-step {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 10px;
  border: 1px solid var(--line);
  background: #fff;
  padding: 9px 10px;
}
.onboarding-num {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border: 1px solid var(--line);
  background: #f8fafc;
  color: var(--brand-dark);
  font-weight: 800;
  font-size: 12px;
}
.onboarding-step p {
  margin: 3px 0 0;
  color: var(--muted);
  white-space: normal;
}
.onboarding-verdict {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border: 1px solid var(--line);
  background: #f8fafc;
  padding: 10px 12px;
  margin-bottom: 10px;
}
.onboarding-verdict.ready {
  border-color: #bbf7d0;
  background: #f0fdf4;
}
.onboarding-verdict.review {
  border-color: #bae6fd;
  background: #f0fbfd;
}
.onboarding-verdict strong {
  color: var(--ink);
  white-space: nowrap;
}
.onboarding-verdict span {
  color: var(--muted);
  font-size: 12px;
}
.backup-history-list {
  display: grid;
  gap: 8px;
  margin: 10px 0;
}
.backup-pick {
  width: 100%;
  border: 1px solid var(--line);
  background: #fff;
  padding: 9px 10px;
  text-align: left;
  cursor: pointer;
}
.backup-pick.latest {
  border-color: #bfdbfe;
  background: #eff6ff;
}
.backup-pick strong,
.backup-pick span,
.backup-pick em {
  display: block;
}
.backup-pick span,
.backup-pick em {
  color: var(--muted);
  font-size: 12px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.restore-preview-box {
  border: 1px dashed var(--line);
  background: #f8fafc;
  padding: 10px 12px;
  margin-top: 10px;
  white-space: normal;
}
.restore-preview-box ul {
  margin: 6px 0 0 18px;
  padding: 0;
}
.note-box.warning {
  border-color: #bae6fd;
  background: #f0fbfd;
}
.modal.wide-modal {
  width: min(980px, calc(100vw - 40px));
}
.user-manager-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
  gap: 14px;
}
.user-manager-grid h4 {
  margin: 0 0 8px;
}
.client-access-list {
  display: grid;
  gap: 7px;
  margin-top: 10px;
  border: 1px solid var(--line);
  background: #f8fafc;
  padding: 10px;
  max-height: 220px;
  overflow: auto;
}
.client-access-list > strong {
  font-size: 12px;
  color: var(--ink);
}
.client-access-check {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: var(--ink);
}
.client-access-check input {
  width: 14px;
  height: 14px;
}
.login-page {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 32px;
  background:
    radial-gradient(circle at 8% 8%, rgba(215, 245, 0, 0.17), transparent 32%),
    linear-gradient(135deg, #121711 0%, #20281f 42%, #edf1e9 42%, #f7f8f5 100%);
}
.login-card {
  width: min(920px, 100%);
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, 0.95fr);
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.24);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 28px 80px rgba(10, 18, 10, 0.26);
}
.login-intro {
  min-height: 520px;
  display: flex;
  flex-direction: column;
  padding: 42px;
  color: #f8faf6;
  background: linear-gradient(155deg, rgba(215,245,0,0.08), transparent 45%), #172016;
}
.login-brand {
  display: flex;
  align-items: center;
  gap: 13px;
  color: #f8faf6;
}
.login-brand .brand-mark {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  flex: 0 0 44px;
  border: 1px solid #d7f500;
  border-radius: 12px;
  background: #d7f500;
  color: #10150f;
  font-size: 22px;
  font-weight: 900;
}
.login-brand span {
  display: block;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 0.01em;
  color: #fff;
}
.login-brand strong {
  display: block;
  margin-top: 3px;
  max-width: 250px;
  font-size: 11px;
  line-height: 1.25;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #aeb8ab;
}
.login-intro-copy { margin: auto 0; max-width: 390px; }
.login-intro-copy > span,
.login-eyebrow {
  display: block;
  color: #b9d000;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.12em;
}
.login-intro-copy h1 {
  margin: 14px 0;
  font-size: clamp(36px, 5vw, 54px);
  line-height: 0.98;
  letter-spacing: -0.045em;
}
.login-intro-copy p { margin: 0; color: #c5cdc2; font-size: 15px; line-height: 1.55; }
.login-proof-line {
  display: grid;
  gap: 5px;
  padding-top: 20px;
  border-top: 1px solid rgba(255,255,255,0.12);
  color: #f1f4ef;
  font-size: 12px;
  font-weight: 800;
}
.login-proof-line span:last-child { color: #8e9a8a; font-size: 11px; font-weight: 600; }
.login-panel {
  display: grid;
  gap: 14px;
  align-content: center;
  padding: 48px;
}
.login-copy h2 {
  margin: 8px 0 0;
  font-size: 30px;
  letter-spacing: -0.025em;
  line-height: 1.15;
}
.login-copy p {
  margin: 6px 0 0;
  color: #5f665d;
  font-size: 13px;
  line-height: 1.45;
}
.login-panel label {
  display: grid;
  gap: 6px;
  color: #4f554d;
  font-size: 12px;
  font-weight: 800;
}
.login-panel input {
  width: 100%;
  border: 1px solid #cfd4cb;
  border-radius: 9px;
  padding: 13px 14px;
  color: #111;
  background: #fff;
}
.login-panel input:focus {
  outline: 2px solid rgba(215, 245, 0, 0.45);
  border-color: #9aa300;
}
.login-submit {
  width: 100%;
  justify-content: center;
  min-height: 46px;
  margin-top: 4px;
  background: #1a2118;
  color: #fff;
  border-color: #1a2118;
  border-radius: 9px;
}
.login-submit:hover {
  background: #111;
}
.login-submit:disabled {
  opacity: 0.7;
  cursor: wait;
}
.login-error {
  border-left: 4px solid #c4341a;
  background: #fff3ee;
  color: #84210f;
  padding: 10px 12px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 700;
}
.login-meta {
  display: grid;
  gap: 4px;
  padding-top: 4px;
  color: #6d736c;
  font-size: 11px;
}
.login-legal-links {
  grid-column: 1 / -1;
  display: flex;
  gap: 14px;
  justify-content: center;
  margin-top: 22px;
  padding-top: 16px;
  border-top: 1px solid #eceee9;
  font-size: 12px;
  font-weight: 800;
}
.login-legal-links a {
  color: #242424;
  text-decoration: underline;
  text-underline-offset: 3px;
}
body.auth-login-active {
  overflow: auto;
  background: #172016;
}
body.auth-login-active .sidebar,
body.auth-login-active .topbar {
  display: none;
}
body.auth-login-active .content {
  width: 100%;
  min-height: 100vh;
  margin: 0;
  padding: 0;
}
body.auth-login-active #view {
  width: 100% !important;
  min-height: 100vh;
  padding: 0 !important;
}
@media (max-width: 760px) {
  .login-page { width: 100dvw; padding: 12px; background: #172016; }
  .login-card { width: calc(100dvw - 24px); max-width: calc(100dvw - 24px); grid-template-columns: 1fr; border-radius: 14px; }
  .login-intro { min-height: auto; padding: 28px; }
  .login-intro-copy { margin: 54px 0 44px; }
  .login-intro-copy h1 { font-size: 40px; }
  .login-panel { min-width: 0; padding: 30px 28px; }
  .login-legal-links { margin: 0; padding: 18px 24px 24px; }
}
.client-new-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.client-new-grid label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 12px;
}
.client-new-grid input,
.client-new-grid select,
.client-new-grid textarea {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 9px 10px;
  color: var(--ink);
  background: #fff;
}
.client-new-wide {
  grid-column: 1 / -1;
}
.money-neg {
  color: var(--red);
}
.drill-cell { cursor: pointer; }
.drill-cell:hover { background: #eef4fe; text-decoration: underline; box-shadow: inset 0 0 0 1px var(--brand); }
.drill-tx-row { cursor: pointer; }
.drill-tx-row:hover td { background: #eef4fe; }
.card-link { text-decoration: none; color: inherit; display: block; transition: .12s; }
.card-link:hover { transform: translateY(-2px); }
.card-link:hover .card { box-shadow: 0 4px 16px rgba(20,30,50,.14); border-color: var(--brand); }
.alert-link { text-decoration: none; color: inherit; display: block; cursor: pointer; }
.alert-link:hover { filter: brightness(.97); }
@keyframes flashbg { 0% { background: #dff7fb; } 100% { background: transparent; } }
tr.flash-row > td { animation: flashbg 2.4s ease-out; }
.gauge-wrap { display: flex; align-items: center; gap: 20px; }
.gauge-num { font-size: 34px; font-weight: 800; }

/* Accordion */
.acc-item { border: 1px solid var(--line); border-radius: 10px; margin-bottom: 12px; background: #fff; box-shadow: var(--shadow); overflow: hidden; }
.acc-head { width: 100%; text-align: left; background: #fff; border: none; padding: 16px 20px; font-size: 15px; font-weight: 700; cursor: pointer; display: flex; justify-content: space-between; align-items: center; color: var(--ink); }
.acc-head:hover { background: #f8fafc; }
.acc-head.open { background: #eef4fe; color: var(--brand-dark); }
.acc-caret {
  width: 0;
  height: 0;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 6px solid var(--muted);
  transition: transform .15s;
}
.acc-head.open .acc-caret { transform: rotate(90deg); }
.acc-body { padding: 6px 20px 20px; }
.acc-body .section:first-child, .acc-body .cards:first-child { margin-top: 8px; }

/* P&L inline drill-down */
.exp-caret {
  display: inline-block;
  width: 0;
  height: 0;
  margin: 0 8px 1px 0;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-left: 5px solid var(--muted);
  vertical-align: middle;
  transition: transform .12s ease;
  font-size: 0;
  line-height: 0;
  cursor: pointer;
}
.exp-caret.open {
  transform: rotate(90deg);
}
.exp-line:hover, .exp-acct:hover { color: var(--brand); }
tr.drillrow td { background: #fbfcfe; font-size: 12.5px; }
tr.drillrow td:first-child { color: var(--ink); }

/* Badges */
.badge { font-size: 11px; padding: 3px 9px; border-radius: 999px; font-weight: 600; }
.badge.high { background: var(--green-bg); color: var(--green); }
.badge.medium { background: var(--amber-bg); color: var(--amber); }
.badge.low { background: #eef0f4; color: var(--muted); }
.badge.review { background: var(--red-bg); color: var(--red); }

.exception-list {
  display: grid;
  gap: 8px;
}
.exception-item {
  border: 1px solid var(--border);
  background: #fff;
  border-radius: 6px;
  padding: 10px 12px;
  display: grid;
  grid-template-columns: minmax(160px, 1fr) auto minmax(220px, 2fr);
  gap: 10px;
  align-items: center;
  text-align: left;
  cursor: pointer;
}
.exception-item:hover { border-color: var(--brand); background: #f8fbff; }
.focus-flash {
  animation: focusFlash 1.4s ease-out;
}
.proof-return-banner {
  margin: 0 0 12px;
  padding: 10px 12px;
  border: 1px solid rgba(31,111,235,.32);
  border-left: 4px solid var(--brand);
  border-radius: 8px;
  background: #f5f9ff;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}
.proof-return-banner div {
  display: grid;
  gap: 2px;
}
.proof-return-banner strong {
  color: var(--ink);
  font-size: 13px;
}
.proof-return-banner span {
  color: var(--muted);
  font-size: 12px;
}
.proof-focus-target {
  outline: 3px solid rgba(31,111,235,.55) !important;
  outline-offset: 2px;
  box-shadow: 0 0 0 6px rgba(31,111,235,.12) !important;
  background: #eef4fe !important;
}
.pl-proof-source-active {
  position: relative;
  outline: 3px solid rgba(31,111,235,.62) !important;
  outline-offset: -3px;
  background: #eef4fe !important;
  box-shadow: inset 0 0 0 2px rgba(31,111,235,.55), 0 0 0 4px rgba(31,111,235,.12) !important;
}
.pl-proof-source-active .pl-number-btn,
.pl-proof-source-active .pl-cell-main {
  color: var(--brand-dark) !important;
  font-weight: 850;
}
tr.proof-focus-target td,
td.proof-focus-target {
  background: #eef4fe !important;
}
html[data-theme="dark"] .proof-return-banner {
  background: #132033;
  border-color: rgba(96,165,250,.42);
}
html[data-theme="dark"] .proof-return-banner strong {
  color: #e5eefb;
}
html[data-theme="dark"] .proof-return-banner span {
  color: #b6c4d6;
}
html[data-theme="dark"] .proof-focus-target,
html[data-theme="dark"] tr.proof-focus-target td,
html[data-theme="dark"] td.proof-focus-target {
  background: #17243a !important;
  outline-color: rgba(96,165,250,.72) !important;
  box-shadow: 0 0 0 6px rgba(96,165,250,.16) !important;
}
html[data-theme="dark"] .pl-proof-source-active {
  background: #17243a !important;
  outline-color: rgba(96,165,250,.72) !important;
  box-shadow: inset 0 0 0 2px rgba(96,165,250,.72), 0 0 0 4px rgba(96,165,250,.16) !important;
}
@keyframes focusFlash {
  0% { box-shadow: 0 0 0 3px rgba(31,111,235,.28); background: #eef4fe; }
  100% { box-shadow: none; }
}

/* Owner dashboard v2: dense CFO/operator cockpit */
.owner-page-v2 {
  position: relative;
  gap: 16px;
  padding: 18px;
  border: 1px solid #dfe5dc;
  border-radius: 10px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .72), rgba(246, 247, 242, .96)),
    radial-gradient(circle at 18% 0%, rgba(230, 255, 42, .20), transparent 34%);
  box-shadow: 0 18px 48px rgba(30, 30, 30, .06);
}
.owner-page-v2::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 5px;
  border-radius: 10px 10px 0 0;
  background: linear-gradient(90deg, var(--manaforge-highlight), #1e1e1e 58%, var(--manaforge-aqua));
  pointer-events: none;
}
.owner-page-v2 .owner-v2-hero {
  border: 1px solid #1e1e1e;
  border-radius: 8px;
  background: #1e1e1e;
  color: #fff;
  box-shadow: 0 12px 28px rgba(30, 30, 30, .16);
}
.owner-page-v2 .owner-v2-plan-card {
  border: 0;
  background: transparent;
  color: inherit;
  box-shadow: none;
}
.owner-page-v2 .owner-plan-title {
  padding: 0 0 10px;
  border-bottom: 1px solid rgba(230, 255, 42, .28);
}
.owner-page-v2 .owner-plan-title span {
  color: var(--manaforge-highlight);
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .05em;
}
.owner-page-v2 .owner-plan-title strong {
  color: #fff;
  font-size: 15px;
  font-weight: 950;
}
.owner-page-v2 .owner-plan-picker label span {
  color: #fff;
  font-weight: 850;
}
.owner-page-v2 .owner-plan-picker label em {
  color: #cfd6c8;
  font-weight: 650;
}
.owner-page-v2 .owner-plan-picker input,
.owner-page-v2 .owner-plan-picker select {
  border-color: rgba(230, 255, 42, .32);
  background: #fff;
  color: #1e1e1e;
  font-weight: 760;
}
.owner-page-v2 .owner-plan-actions .btn {
  border-color: var(--manaforge-highlight);
  background: var(--manaforge-highlight);
  color: #1e1e1e;
  font-weight: 950;
  box-shadow: none;
}
.owner-page-v2 .owner-plan-actions .btn:hover {
  border-color: #fff;
  background: #fff;
  color: #000;
}
.owner-page-v2 .owner-v2-board {
  align-items: stretch;
  padding: 0;
}
.owner-page-v2 .owner-v2-signal-grid {
  gap: 10px;
}
.owner-page-v2 .owner-v2-signal-grid > .owner-question-card {
  min-height: 136px;
  padding: 13px 42px 13px 14px;
  border: 1px solid #dfe5dc;
  border-left: 5px solid var(--card-accent, #1e1e1e);
  border-top: 0;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(30, 30, 30, .055);
  transition: transform .14s ease, box-shadow .14s ease, border-color .14s ease;
}
.owner-page-v2 .owner-v2-signal-grid > .owner-question-card:first-child {
  grid-column: 1 / -1;
  min-height: 150px;
  background:
    linear-gradient(90deg, rgba(194, 65, 12, .10), rgba(255, 255, 255, .88) 46%),
    #fff;
}
.owner-page-v2 .owner-v2-signal-grid > button.owner-question-card:hover,
.owner-page-v2 .owner-v2-signal-grid > button.owner-question-card:focus-visible {
  border-color: #1e1e1e;
  background: #fff;
  box-shadow: 0 14px 30px rgba(30, 30, 30, .10);
  outline: none;
  transform: translateY(-1px);
}
.owner-page-v2 .owner-card-kind-icon {
  width: 28px;
  height: 28px;
  border-color: rgba(30, 30, 30, .15);
  background: #1e1e1e;
  color: var(--manaforge-highlight);
}
.owner-page-v2 .owner-card-kind-icon svg {
  width: 15px;
  height: 15px;
}
.owner-page-v2 .owner-card-priority-icon {
  border-color: #d7e25c;
  background: #effcff;
  color: #1e1e1e;
}
.owner-page-v2 .owner-card-flag {
  color: #4f5549;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .03em;
}
.owner-page-v2 .owner-card-amount {
  color: #1e1e1e;
  font-size: 18px;
  font-weight: 950;
}
.owner-page-v2 .owner-card-summary {
  color: #111;
  font-size: 12px;
  font-weight: 820;
}
.owner-page-v2 .owner-card-proof-pills strong {
  color: #151515;
  font-weight: 900;
}
.owner-page-v2 .owner-card-proof-pills b {
  border-right-color: #e2e7d6;
}
.owner-page-v2 .owner-signal-card.additional {
  min-height: 100%;
  overflow: hidden;
  border: 1px solid #dfe5dc;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(30, 30, 30, .055);
}
.owner-page-v2 .owner-signal-head {
  margin: -10px -10px 0;
  padding: 12px 14px;
  border-bottom: 0;
  background: #1e1e1e;
}
.owner-page-v2 .owner-signal-head span {
  color: var(--manaforge-highlight);
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .02em;
  text-transform: uppercase;
}
.owner-page-v2 .owner-product-proof-row.head {
  margin: 8px 10px 0;
  background: #1e1e1e;
}
.owner-page-v2 .owner-product-proof-row.head span {
  color: var(--manaforge-highlight);
}
.owner-page-v2 .owner-product-proof-row {
  border-top-color: #edf0e2;
  margin: 0 10px;
  border-radius: 0;
}
.owner-page-v2 .owner-product-proof-name .manaforge-product-thumb {
  border-color: #d7e25c;
  background: #effcff;
}
.owner-page-v2 .owner-v2-hero,
.owner-page-v2 .owner-v2-board,
.owner-page-v2 .owner-cash-wide,
.owner-page-v2 .owner-three-col {
  max-width: 100%;
}
.owner-v2-hero {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  align-items: stretch;
  padding: 14px 16px 16px;
}
.owner-v2-plan-card {
  grid-column: 1 / -1;
  min-width: 0;
  padding: 0;
}
.owner-plan-shell {
  display: grid;
  gap: 8px;
  height: 100%;
}
.owner-plan-title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 6px;
  border-bottom: 1px solid #edf2f7;
}
.owner-plan-title span {
  color: #667085;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .02em;
  line-height: 1;
  text-transform: uppercase;
}
.owner-plan-title strong {
  color: #101828;
  font-size: 14px;
  font-weight: 820;
  line-height: 1.1;
}
.owner-page-v2 .owner-plan-picker.owner-scenario-builder {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr)) minmax(120px, auto);
  gap: 7px;
  align-items: end;
}
.owner-page-v2 .owner-plan-picker label span {
  min-height: 24px;
}
.owner-page-v2 .owner-plan-picker label {
  min-width: 0;
}
.owner-page-v2 .owner-plan-picker input,
.owner-page-v2 .owner-plan-picker select {
  width: 100%;
  min-height: 30px;
  border-radius: 7px;
  font-variant-numeric: tabular-nums;
}
.owner-page-v2 .owner-plan-picker input {
  text-align: right;
}
.owner-page-v2 .owner-plan-actions {
  display: flex;
  align-items: end;
  justify-content: flex-start;
}
.owner-page-v2 .owner-plan-actions .btn {
  min-height: 30px;
  white-space: nowrap;
  box-shadow: 0 7px 14px rgba(37, 99, 235, .16);
}
.owner-page-v2 .owner-expansion-calc {
  grid-column: 1 / span 3;
  min-height: 58px;
}
.owner-page-v2 .owner-model-connection {
  grid-column: span 3;
  align-self: stretch;
}
.owner-v2-board {
  display: grid;
  grid-template-columns: minmax(480px, .9fr) minmax(620px, 1.35fr);
  gap: 12px;
  align-items: stretch;
}
.owner-v2-signal-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.owner-v2-signal-grid > .owner-question-card {
  position: relative;
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  grid-template-areas:
    "icon flag"
    "amount amount"
    "title title"
    "proof proof";
  gap: 4px 9px;
  align-items: start;
  min-height: 118px;
  min-width: 0;
  overflow: visible;
  padding: 11px 40px 11px 12px;
  border: 1px solid #dfe5dc;
  border-radius: 8px;
  background: #fff;
  box-shadow: none;
  color: inherit;
  font: inherit;
  text-align: left;
}
button.owner-v2-signal-grid > .owner-question-card,
.owner-v2-signal-grid > button.owner-question-card {
  appearance: none;
  cursor: pointer;
}
.owner-v2-signal-grid > button.owner-question-card:hover,
.owner-v2-signal-grid > button.owner-question-card:focus-visible {
  border-color: var(--manaforge-highlight);
  background: #fbfcf4;
  outline: none;
}
.owner-v2-signal-grid .owner-card-kind-icon {
  width: 22px;
  height: 22px;
  align-self: center;
}
.owner-v2-signal-grid .owner-card-flag {
  color: #344054;
  font-size: 11px;
  font-weight: 850;
  line-height: 1.05;
  align-self: center;
}
.owner-v2-signal-grid .owner-card-summary {
  align-self: start;
  color: #344054;
  font-size: 11.25px;
  font-weight: 560;
  line-height: 1.25;
  -webkit-line-clamp: 2;
}
.owner-v2-signal-grid .owner-card-amount {
  align-self: start;
  color: #1e1e1e;
  font-size: 15.5px;
  font-weight: 820;
  line-height: 1.05;
  padding-left: 31px;
  text-align: left;
}
.owner-v2-signal-grid .owner-card-proof-pills {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 5px;
  padding-top: 7px;
}
.owner-v2-signal-grid .owner-card-proof-pills b {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2px;
  align-content: start;
  min-height: 30px;
  padding: 0 6px 0 0;
  border-right: 1px solid #edf2f7;
  font-size: 9px;
  line-height: 1.05;
  white-space: normal;
}
.owner-v2-signal-grid .owner-card-proof-pills b:nth-child(4),
.owner-v2-signal-grid .owner-card-proof-pills b:last-child {
  border-right: 0;
}
.owner-v2-signal-grid .owner-card-proof-pills span {
  white-space: normal;
}
.owner-v2-signal-grid .owner-card-proof-pills strong {
  font-size: 10.5px;
  font-weight: 800;
  text-align: left;
}
.owner-v2-product-panel {
  min-width: 0;
}
.owner-page-v2 .owner-signal-card.additional {
  align-content: start;
  min-height: 100%;
  padding: 10px;
}
.owner-page-v2 .owner-signal-head {
  padding: 12px 14px;
  border-bottom: 0;
}
.owner-page-v2 .owner-signal-head span {
  color: var(--manaforge-highlight);
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .02em;
  text-transform: uppercase;
}
.owner-page-v2 .owner-product-proof-table {
  border: 0;
  border-radius: 0;
}
.owner-page-v2 .owner-product-proof-row {
  grid-template-columns: minmax(150px, 1.28fr) repeat(2, minmax(58px, .45fr)) minmax(94px, .7fr) repeat(2, minmax(70px, .58fr)) minmax(76px, .58fr);
  min-height: 42px;
  padding: 10px 12px;
}
.owner-page-v2 .owner-product-proof-row span,
.owner-page-v2 .owner-product-proof-row b,
.owner-page-v2 .owner-product-proof-row strong {
  font-size: 12px;
  line-height: 1.18;
}
.owner-page-v2 .owner-product-proof-row.head {
  border-radius: 7px;
  background: #1e1e1e;
}
.owner-page-v2 .owner-product-proof-row.head span {
  color: var(--manaforge-highlight);
  font-size: 9.5px;
}
.owner-product-proof-name {
  display: flex;
  align-items: center;
  gap: 8px;
}
.owner-product-proof-name .manaforge-product-thumb {
  width: 28px;
  height: 28px;
}
.owner-product-proof-name span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.owner-v2-cash .owner-panel {
  padding: 12px 14px;
}
.owner-v2-lower .owner-panel {
  padding: 12px;
}
.owner-v2-lower .owner-panel-head {
  align-items: baseline;
  margin-bottom: 8px;
}
@media (max-width: 1780px) {
  .owner-v2-hero {
    grid-template-columns: minmax(360px, .95fr) minmax(430px, 1.15fr);
  }
  .owner-v2-plan-card {
    grid-column: 1 / -1;
  }
  .owner-page-v2 .owner-plan-picker.owner-scenario-builder {
    grid-template-columns: repeat(5, minmax(0, 1fr)) minmax(140px, auto);
  }
}
@media (max-width: 1680px) {
  .owner-v2-board {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 1180px) {
  .owner-v2-hero,
  .owner-v2-board {
    grid-template-columns: 1fr;
  }
  .owner-page-v2 .owner-plan-picker.owner-scenario-builder {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .owner-page-v2 .owner-expansion-calc,
  .owner-page-v2 .owner-model-connection {
    grid-column: 1 / -1;
  }
}
@media (max-width: 760px) {
  .owner-v2-signal-grid,
  .owner-page-v2 .owner-plan-picker.owner-scenario-builder {
    grid-template-columns: 1fr;
  }
}

/* Forms */
.field { display: flex; flex-direction: column; gap: 5px; margin-bottom: 12px; }
.field label { font-size: 12px; font-weight: 600; color: var(--muted); }
.field input, .field select, .field textarea {
  padding: 9px 11px; border: 1px solid var(--line); border-radius: 8px; font-size: 13px; font-family: inherit;
}
.inline-check {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin: 0 0 12px;
  color: #334155;
  font-size: 12px;
  font-weight: 650;
}
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
.muted { color: var(--muted); }
.help { font-size: 12px; color: var(--muted); line-height: 1.5; }
.note-box { background: #f8fafc; border: 1px solid var(--line); border-radius: 8px; padding: 12px 14px; font-size: 12.5px; color: var(--muted); line-height: 1.55; }
.note-box strong { color: var(--ink); }
.qbo-console-panel { display: flex; flex-direction: column; gap: 12px; }
.qbo-console-grid {
  display: grid;
  grid-template-columns: minmax(300px, 420px) minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}
.qbo-state-table {
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
  background: var(--panel);
}
.qbo-state-table div {
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr);
  gap: 10px;
  padding: 8px 10px;
  border-bottom: 1px solid var(--line);
}
.qbo-state-table div:last-child { border-bottom: 0; }
.qbo-state-table span,
.qbo-action-panel .help,
.qbo-env-list,
.qbo-action-status {
  color: var(--muted);
  font-size: 12px;
}
.qbo-state-table strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.qbo-action-panel { display: flex; flex-direction: column; gap: 10px; }
.qbo-action-row,
.qbo-sync-controls {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: end;
}
.qbo-sync-controls label {
  display: flex;
  flex-direction: column;
  gap: 4px;
  color: var(--muted);
  font-size: 12px;
}
.qbo-sync-controls select,
.qbo-sync-controls input {
  height: 32px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 0 8px;
  background: #fff;
  color: var(--ink);
}
.qbo-env-list { display: flex; gap: 6px; flex-wrap: wrap; }
.qbo-env-list code {
  background: #f4f7fb;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 2px 5px;
  color: var(--ink);
}
.qbo-action-status.err { color: var(--red); }
.qbo-action-status.ok { color: var(--green); }
.qbo-runs-details,
.qbo-preview-details {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px;
}
.qbo-runs-details summary,
.qbo-preview-details summary { cursor: pointer; font-weight: 700; }
.qbo-preview-summary,
.qbo-raw-types {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin: 10px 0;
}
.qbo-preview-summary span,
.qbo-raw-types span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 5px 8px;
  background: #f8fafc;
  font-size: 12px;
}
.qbo-preview-table td:nth-child(4),
.qbo-preview-table td:nth-child(5),
.qbo-preview-table td:nth-child(8) {
  max-width: 240px;
  overflow: hidden;
  text-overflow: ellipsis;
}
.qbo-warning-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 10px;
}
.qbo-warning-grid div {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 8px 10px;
  min-width: 0;
}
.qbo-warning-grid strong { display: block; margin-bottom: 6px; font-size: 12px; }
.qbo-warning-grid ul {
  margin: 0;
  padding-left: 16px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}
@media (max-width: 1100px) {
  .qbo-console-grid,
  .qbo-warning-grid { grid-template-columns: 1fr; }
}

/* Dropzone */
.dropzone {
  border: 2px dashed var(--line); border-radius: var(--radius); padding: 36px;
  text-align: center; color: var(--muted); cursor: pointer; transition: .15s; background: #fbfcfe;
}
.dropzone.drag { border-color: var(--brand); background: #eef4fe; color: var(--brand-dark); }
.import-compact-grid {
  grid-template-columns: minmax(520px, 1.1fr) minmax(320px, .9fr);
  gap: 12px;
  align-items: start;
}
.import-compact-panel,
.source-role-compact {
  padding: 16px 20px;
}
.section-head.compact {
  margin-bottom: 10px;
}
.import-compact-panel .field {
  margin-bottom: 10px;
}
.import-control-row {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(220px, 1fr) auto;
  gap: 10px;
  align-items: end;
}
.import-control-row .field {
  margin-bottom: 8px;
}
.import-compact-panel select {
  min-height: 38px;
}
.import-compact-panel .compact-check {
  margin-bottom: 8px;
}
.import-compact-panel .compact-check label {
  min-height: 38px;
  display: flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}
.dropzone.compact {
  padding: 18px;
  min-height: 74px;
  display: grid;
  place-items: center;
}
.source-role-compact .note-box {
  padding: 12px 14px;
  line-height: 1.45;
}
.duplicate-import-link {
  font-weight: 700;
}
.compact-workbench-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 12px;
}
.compact-workbench-head h2 {
  margin: 0 0 4px;
}
.coa-map-table th:first-child,
.coa-map-table td:first-child {
  min-width: 240px;
}
.coa-map-table .coa-section td {
  background: #eaf2ff;
  color: var(--brand-dark);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .02em;
}
.coa-map-table td {
  vertical-align: middle;
}

.wb-filter-panel {
  margin-bottom: 12px;
}

.wb-filter-grid {
  display: grid;
  grid-template-columns: minmax(220px, 1.5fr) repeat(6, minmax(120px, 1fr)) auto;
  gap: 8px;
  align-items: end;
}

.wb-filter-grid .field {
  margin: 0;
}

.check-filter,
.check-field {
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 34px;
  font-size: 12px;
  color: var(--ink);
}

.check-filter input,
.check-field input,
.compact-checks input {
  width: auto;
}

.wb-table,
.coa-map-table {
  font-size: 12px;
}

.wb-table th,
.wb-table td,
.coa-map-table th,
.coa-map-table td {
  text-align: left;
  padding: 7px 9px;
  color: var(--ink);
}

.wb-table td {
  vertical-align: top;
}

.wb-table thead th {
  vertical-align: top;
  padding: 6px 7px;
  white-space: normal;
}

.wb-sort {
  appearance: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  width: 100%;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font: inherit;
  font-weight: 900;
  padding: 0;
  text-align: left;
  text-transform: uppercase;
}

.wb-sort::after {
  content: "";
  margin-left: auto;
  color: #6b7a90;
  font-size: 9px;
}

.wb-sort.active[data-dir="asc"]::after {
  content: "^";
}

.wb-sort.active[data-dir="desc"]::after {
  content: "v";
}

.wb-head-filter {
  width: 100%;
  min-width: 0;
  height: 25px;
  margin-top: 5px;
  border: 1px solid #c9d6e6;
  border-radius: 5px;
  background: #fff;
  color: var(--ink);
  padding: 3px 6px;
  font-size: 10.8px;
  font-weight: 700;
  text-transform: none;
}

.wb-head-filter.compact {
  margin-top: 4px;
}

.wb-head-check {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 6px;
  color: #42536b;
  font-size: 10.5px;
  font-weight: 800;
  line-height: 1.1;
  text-transform: none;
  white-space: nowrap;
}

.wb-head-check input {
  width: 13px;
  height: 13px;
  margin: 0;
}

html[data-theme="dark"] .wb-head-filter {
  background: #101927;
  border-color: #2a3d58;
  color: var(--ink);
}

html[data-theme="dark"] .wb-head-check {
  color: #9fb0c7;
}

html[data-theme="dark"] .wb-column-menu-button,
html[data-theme="dark"] .wb-column-menu {
  background: #101927;
  border-color: #2a3d58;
}

.wb-workbench-panel {
  max-width: 100%;
  overflow: visible;
}

.wb-workbench-panel .section-head {
  padding-bottom: 6px;
}

.wb-workbench-panel .wb-table {
  width: 100%;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
}

.wb-workbench-panel .wb-table th,
.wb-workbench-panel .wb-table td {
  padding: 5px 6px;
}

.wb-workbench-panel .wb-table td {
  height: 34px;
  max-height: 34px;
  vertical-align: middle;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wb-workbench-panel .wb-table thead th {
  position: sticky;
  top: 0;
  z-index: 3;
  height: 54px;
  padding: 5px 6px;
  white-space: nowrap;
  background: var(--panel);
  box-shadow: inset 0 -1px 0 #b8c9df;
  overflow: visible;
}

.wb-workbench-panel .wb-table th:nth-child(1),
.wb-workbench-panel .wb-table td:nth-child(1) { width: 76px; }
.wb-workbench-panel .wb-table th:nth-child(2),
.wb-workbench-panel .wb-table td:nth-child(2) { width: 112px; }
.wb-workbench-panel .wb-table th:nth-child(3),
.wb-workbench-panel .wb-table td:nth-child(3) { width: 120px; }
.wb-workbench-panel .wb-table th:nth-child(4),
.wb-workbench-panel .wb-table td:nth-child(4) { width: 210px; }
.wb-workbench-panel .wb-table th:nth-child(5),
.wb-workbench-panel .wb-table td:nth-child(5) { width: 82px; text-align: right; }
.wb-workbench-panel .wb-table th:nth-child(6),
.wb-workbench-panel .wb-table td:nth-child(6) { width: 160px; }
.wb-workbench-panel .wb-table th:nth-child(7),
.wb-workbench-panel .wb-table td:nth-child(7) { width: 104px; }
.wb-workbench-panel .wb-table th:nth-child(8),
.wb-workbench-panel .wb-table td:nth-child(8) { width: 62px; }
.wb-workbench-panel .wb-table th:nth-child(9),
.wb-workbench-panel .wb-table td:nth-child(9) { width: 70px; }

.wb-workbench-panel .wb-sort {
  min-width: 0;
  min-height: 15px;
  font-size: 10.5px;
  line-height: 1.1;
  overflow: hidden;
  text-overflow: ellipsis;
}

.wb-workbench-panel .wb-sort.active[data-dir="asc"]::after {
  content: "^";
}

.wb-workbench-panel .wb-sort.active[data-dir="desc"]::after {
  content: "v";
}

.wb-workbench-panel .wb-head-filter {
  height: 23px;
  margin-top: 3px;
  padding: 2px 5px;
  font-size: 10px;
}

.wb-head-main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 20px;
  align-items: center;
  gap: 3px;
  position: relative;
}

.wb-column-menu-button {
  appearance: none;
  width: 20px;
  height: 20px;
  border: 1px solid #c9d6e6;
  border-radius: 5px;
  background: #fff;
  color: #42536b;
  cursor: pointer;
  font-size: 10px;
  font-weight: 900;
  line-height: 1;
}

.wb-column-menu-button:hover,
.wb-column-menu-button.active,
.wb-column-menu-button:focus-visible {
  border-color: var(--brand);
  color: var(--brand-dark);
  outline: none;
}

.wb-column-menu {
  display: none;
  position: absolute;
  top: calc(100% - 4px);
  left: 6px;
  z-index: 40;
  min-width: 160px;
  padding: 8px;
  border: 1px solid #c9d6e6;
  border-radius: 7px;
  background: var(--panel);
  box-shadow: 0 14px 30px rgba(15, 23, 42, .18);
  text-transform: none;
  white-space: normal;
}

.wb-column-menu.open {
  display: grid;
  gap: 7px;
}

.wb-column-menu.wide {
  min-width: 220px;
}

.wb-column-menu.align-right {
  left: auto;
  right: 6px;
}

.wb-column-menu button:not(.btn) {
  appearance: none;
  width: 100%;
  border: 0;
  border-radius: 5px;
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  font-size: 11px;
  font-weight: 800;
  padding: 6px 7px;
  text-align: left;
}

.wb-column-menu button:not(.btn):hover,
.wb-column-menu button:not(.btn):focus-visible {
  background: var(--hover-bg);
  outline: none;
}

.wb-column-menu label {
  display: grid;
  gap: 4px;
  color: var(--muted);
  font-size: 10.5px;
  font-weight: 800;
}

.wb-column-menu .wb-head-filter {
  margin-top: 0;
}

.wb-workbench-panel .wb-head-filter.compact,
.wb-workbench-panel .wb-table th:nth-child(9) .wb-head-check {
  display: block;
}

.wb-workbench-panel .wb-head-check {
  margin-top: 4px;
  font-size: 10px;
}

.wb-workbench-panel .wb-table strong,
.wb-workbench-panel .wb-table .badge,
.wb-workbench-panel .wb-table .mini-tag {
  white-space: nowrap;
}

.click-row {
  cursor: pointer;
}

.click-row:focus-visible td,
.click-row:hover td {
  background: var(--hover-bg);
  outline: none;
}

.tx-amount,
.wb-table .tx-amount,
.coa-map-table .tx-amount {
  color: var(--ink);
  text-align: right;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

.tx-amount.neg,
.wb-table .tx-amount.neg,
.coa-map-table .tx-amount.neg,
.review-section .neg {
  color: var(--red);
}

.mini-tag {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin-top: 3px;
  padding: 1px 6px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  background: var(--app-bg);
  font-size: 10.5px;
  font-weight: 700;
}

.mini-tag.warn {
  color: #8a4b00;
  background: #fff4db;
  border-color: #eed18f;
}

.cash-source-pill {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin-left: 6px;
  padding: 1px 6px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--app-bg);
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
  white-space: nowrap;
}

.cash-mapping-readiness {
  margin-bottom: 12px;
  border-left: 4px solid var(--line);
}

.cash-mapping-readiness.compact {
  padding: 10px 12px;
}

.cash-mapping-readiness.warn {
  border-left-color: var(--amber);
}

.cash-mapping-readiness.info {
  border-left-color: var(--brand);
}

.cash-mapping-readiness.ready {
  border-left-color: var(--green);
}

.cash-readiness-score {
  text-align: right;
}

.cash-readiness-compact-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 8px;
}

.cash-readiness-compact-head h2 {
  margin: 0 0 2px;
  font-size: 15px;
}

.cash-readiness-compact-head span {
  color: var(--muted);
  font-size: 12px;
}

.cash-readiness-score strong,
.cash-readiness-score span {
  display: block;
}

.cash-readiness-score strong {
  color: var(--ink);
  font-size: 14px;
}

.cash-readiness-score span {
  color: var(--muted);
  font-size: 11px;
}

.cash-readiness-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr);
  gap: 10px;
}

.compact-readiness-scroll {
  max-height: 178px;
}

.cash-readiness-table,
.cash-source-priority-table {
  width: 100%;
  font-size: 12px;
}

.cash-readiness-table th,
.cash-readiness-table td,
.cash-source-priority-table th,
.cash-source-priority-table td {
  text-align: left;
  padding: 7px 9px;
  color: var(--ink);
}

.cash-readiness-table td:nth-child(2),
.cash-readiness-table td:nth-child(3),
.cash-source-priority-table td:first-child {
  text-align: right;
  white-space: nowrap;
}

.cash-proof-drawer {
  margin-bottom: 12px;
}

.cash-proof-drawer summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  cursor: pointer;
  list-style: none;
}

.cash-proof-drawer summary::-webkit-details-marker {
  display: none;
}

.cash-proof-drawer summary span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 600;
}

.cash-proof-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .72fr);
  gap: 10px;
  margin-top: 10px;
}

.empty-action-row {
  margin-top: 8px;
}

@media (max-width: 980px) {
  .cash-readiness-grid {
    grid-template-columns: 1fr;
  }

  .cash-readiness-compact-head,
  .cash-proof-drawer summary {
    flex-direction: column;
    align-items: flex-start;
  }

  .cash-readiness-score {
    text-align: left;
  }

  .cash-proof-grid {
    grid-template-columns: 1fr;
  }
}

.transaction-review-modal,
.transaction-review-modal.modal,
.drill-modal.transaction-review-modal {
  width: min(1080px, calc(100vw - 24px));
}

.transaction-review-modal #modal-body {
  padding-bottom: 82px;
}

.tx-review-grid {
  display: grid;
  grid-template-columns: minmax(260px, .9fr) minmax(320px, 1.1fr);
  gap: 12px;
}

.review-completion {
  grid-column: 1 / -1;
  display: grid;
  gap: 3px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-left-width: 4px;
  border-radius: 8px;
  background: var(--app-bg);
}

.review-completion strong {
  color: var(--ink);
  font-size: 13px;
}

.review-completion span {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}

.review-completion.complete {
  border-left-color: var(--green);
}

.review-completion.incomplete {
  border-left-color: var(--amber);
}

.review-completion.review-open {
  border-left-color: var(--brand);
}

.review-section {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 12px;
  background: var(--panel);
}

.review-section h4 {
  margin: 0 0 10px;
  font-size: 13px;
}

.review-section.source {
  grid-row: span 3;
  background: var(--app-bg);
}

.review-section dl {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 5px 10px;
  margin: 0;
  font-size: 12px;
}

.review-section dt {
  color: var(--muted);
  font-weight: 700;
}

.review-section dd {
  margin: 0;
  overflow-wrap: anywhere;
  color: var(--ink);
}

.map-origin {
  margin-bottom: 8px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
}

.compact-checks label {
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 32px;
  margin: 0;
  font-size: 12px;
}

.review-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}

.coa-editor-grid .review-section.source {
  grid-row: span 3;
}

@media (max-width: 980px) {
  .wb-filter-grid,
  .tx-review-grid {
    grid-template-columns: 1fr;
  }

  .review-section.source {
    grid-row: auto;
  }
}

/* Modal */
.modal-overlay {
  position: fixed; inset: 0; background: rgba(15,27,45,.45);
  display: grid; place-items: center; z-index: 1000;
}
.modal {
  background: #fff; border-radius: var(--radius); padding: 24px; width: 540px;
  max-width: 92vw; max-height: 88vh; overflow: auto; box-shadow: 0 20px 60px rgba(0,0,0,.3);
  position: relative;
  z-index: 1001;
}
.modal h3 { margin: 0 0 16px; }
.modal-body { min-width: 0; }
.modal-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; margin-top: 12px; }
.modal-state {
  margin-right: auto;
  color: #7a4c00;
  font-size: 12px;
  font-weight: 800;
}

/* Owner Dashboard approved-composition pass */
body.owner-dashboard-route .content {
  background: #f2f4f5;
}

body.owner-dashboard-route .topbar {
  min-height: 64px;
  padding: 8px 22px;
  background: #111;
  color: #fff;
}

body.owner-dashboard-route .topbar h1 {
  color: #fff;
  font-size: 21px;
  line-height: 1;
}

body.owner-dashboard-route .owner-exec-dashboard.owner-exec-unified {
  gap: 10px;
  max-width: 1680px;
  margin: 0 auto;
  padding: 10px 14px 16px;
}

body.owner-dashboard-route .owner-exec-top-controls.owner-exec-header-compact {
  grid-template-columns: minmax(190px, 240px) repeat(3, minmax(126px, 160px)) minmax(126px, auto);
  gap: 10px;
}

body.owner-dashboard-route .owner-exec-header-compact select,
body.owner-dashboard-route .owner-model-controls-button {
  border-radius: 6px;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-diagnosis {
  min-height: 68px;
  padding: 10px 14px;
  border-left-color: #22d3ee;
  box-shadow: 0 1px 0 rgba(17, 17, 17, .04);
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-diagnosis strong {
  max-width: 1120px;
  color: #111;
  font-size: 14px;
  line-height: 1.25;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-diagnosis span {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 5px;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-diagnosis b {
  padding: 3px 9px;
  border-radius: 999px;
  background: #fff;
  color: #222;
  font-size: 10px;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi {
  min-height: 116px;
  padding: 14px;
  border-top: 3px solid #1f2933;
  border-left-width: 1px;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi.good,
body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi.watch,
body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi.risk {
  border-left-width: 1px;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi.good { border-top-color: #16834b; }
body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi.watch { border-top-color: #0f8fb5; }
body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi.risk { border-top-color: #c83a2e; }
body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi.decision {
  border-top-color: #22d3ee;
  background: linear-gradient(180deg, #fff, #f3fcff);
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi span {
  color: #555;
  font-size: 10px;
  letter-spacing: .03em;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi strong,
body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi.good strong,
body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi.watch strong,
body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi.risk strong {
  color: #111;
  font-size: clamp(19px, 1.45vw, 24px);
  line-height: 1.08;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi em {
  color: #555;
  font-size: 11px;
  line-height: 1.28;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi b {
  color: #303030;
  font-size: 10.5px;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-main-grid {
  grid-template-columns: minmax(0, 9fr) minmax(320px, 3fr);
  gap: 12px;
  align-items: start;
}

body.owner-dashboard-route .owner-approved-operating-graph,
body.owner-dashboard-route .owner-decision-panel {
  height: 536px;
  min-height: 536px;
}

body.owner-dashboard-route .owner-approved-operating-graph {
  display: grid;
  grid-template-rows: auto 1fr;
  padding: 12px;
}

body.owner-dashboard-route .owner-approved-operating-graph .owner-exec-panel-head {
  align-items: start;
  margin-bottom: 8px;
}

body.owner-dashboard-route .owner-approved-operating-graph .owner-exec-panel-head span {
  font-size: 12px;
  letter-spacing: .03em;
}

body.owner-dashboard-route .owner-approved-operating-graph .owner-exec-panel-head strong {
  max-width: 680px;
  color: #555;
}

body.owner-dashboard-route .owner-approved-operating-graph .owner-exec-chart-stats {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
}

body.owner-dashboard-route .owner-approved-operating-graph .owner-exec-chart-stats span {
  padding: 6px 9px;
  border: 1px solid #d9d9d4;
  border-radius: 999px;
  background: #fafafa;
  color: #333;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}

body.owner-dashboard-route .owner-approved-operating-graph .owner-exec-chart-stats b {
  color: #111;
}

body.owner-dashboard-route .owner-approved-operating-graph .owner-exec-chart-canvas {
  min-height: 440px;
  border: 1px solid #deded8;
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
}

body.owner-dashboard-route .owner-approved-operating-graph .owner-approved-operating-svg {
  display: block;
  width: 100%;
  height: 440px;
  min-height: 440px;
  max-height: 440px;
  aspect-ratio: auto;
}

body.owner-dashboard-route .owner-approved-operating-svg .band-label {
  fill: #555;
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
}

body.owner-dashboard-route .owner-approved-operating-svg .period.actual {
  fill: rgba(17, 17, 17, .03);
}

body.owner-dashboard-route .owner-approved-operating-svg .period.forecast {
  fill: rgba(45, 99, 184, .03);
}

body.owner-dashboard-route .owner-approved-operating-svg .zone.healthy {
  fill: rgba(22, 131, 75, .045);
}

body.owner-dashboard-route .owner-approved-operating-svg .zone.caution {
  fill: rgba(214, 181, 54, .08);
}

body.owner-dashboard-route .owner-approved-operating-svg .zone.shortage {
  fill: rgba(200, 58, 46, .07);
}

body.owner-dashboard-route .owner-approved-operating-svg .tick line {
  stroke: rgba(17, 17, 17, .08);
}

body.owner-dashboard-route .owner-approved-operating-svg .tick text,
body.owner-dashboard-route .owner-approved-operating-svg .reserve-label,
body.owner-dashboard-route .owner-approved-operating-svg .now-label,
body.owner-dashboard-route .owner-approved-operating-svg .owner-exec-point text {
  fill: #555;
  font-size: 9px;
  font-weight: 760;
}

body.owner-dashboard-route .owner-approved-operating-svg .axis {
  stroke: #222;
  stroke-width: 1.1;
}

body.owner-dashboard-route .owner-approved-operating-svg .zero {
  stroke: #c83a2e;
  stroke-width: 1;
  stroke-dasharray: 4 5;
}

body.owner-dashboard-route .owner-approved-operating-svg .reserve {
  stroke: #b6861f;
  stroke-width: 1.7;
  stroke-dasharray: 7 5;
}

body.owner-dashboard-route .owner-approved-operating-svg .now {
  stroke: #111;
  stroke-width: 1;
  stroke-dasharray: 2 3;
}

body.owner-dashboard-route .owner-approved-operating-svg .forecast-band {
  fill: rgba(80, 108, 132, .16);
}

body.owner-dashboard-route .owner-approved-operating-svg .actual-line,
body.owner-dashboard-route .owner-approved-operating-svg .forecast-line,
body.owner-dashboard-route .owner-approved-operating-svg .low-line {
  fill: none;
  vector-effect: non-scaling-stroke;
}

body.owner-dashboard-route .owner-approved-operating-svg .actual-line {
  stroke: #111;
  stroke-width: 3;
}

body.owner-dashboard-route .owner-approved-operating-svg .forecast-line {
  stroke: #315f88;
  stroke-width: 2.5;
}

body.owner-dashboard-route .owner-approved-operating-svg .low-line {
  stroke: #c83a2e;
  stroke-width: 1.3;
  stroke-dasharray: 5 6;
}

body.owner-dashboard-route .owner-approved-operating-svg .owner-exec-point circle {
  fill: #fff;
  stroke: #111;
  stroke-width: 1.8;
}

body.owner-dashboard-route .owner-approved-operating-svg .owner-exec-point.forecast circle {
  stroke: #315f88;
}

body.owner-dashboard-route .owner-approved-operating-svg .owner-exec-point.current circle {
  fill: #111;
  stroke: #111;
}

body.owner-dashboard-route .owner-approved-operating-svg .band-divider,
body.owner-dashboard-route .owner-approved-operating-svg .event-lane-line {
  stroke: #ddddda;
  stroke-width: 1;
}

body.owner-dashboard-route .owner-approved-event-marker .event-halo {
  fill: #fff;
  stroke: #111;
  stroke-width: 1;
}

body.owner-dashboard-route .owner-approved-event-marker path,
body.owner-dashboard-route .owner-approved-event-marker rect:not(.event-chip),
body.owner-dashboard-route .owner-approved-event-marker circle:not(.event-halo) {
  fill: none;
  stroke: #111;
  stroke-width: 1.7;
  vector-effect: non-scaling-stroke;
}

body.owner-dashboard-route .owner-approved-event-marker.collection path { stroke: #16834b; }
body.owner-dashboard-route .owner-approved-event-marker.inventory path { stroke: #0f8fb5; }
body.owner-dashboard-route .owner-approved-event-marker.payroll rect:not(.event-chip),
body.owner-dashboard-route .owner-approved-event-marker.payroll path,
body.owner-dashboard-route .owner-approved-event-marker.debt-tax path { stroke: #52524c; }
body.owner-dashboard-route .owner-approved-event-marker.funding circle:not(.event-halo),
body.owner-dashboard-route .owner-approved-event-marker.funding path { stroke: #315f88; }
body.owner-dashboard-route .owner-approved-event-marker.build path { stroke: #4e5965; }
body.owner-dashboard-route .owner-approved-event-marker.sale circle:not(.event-halo),
body.owner-dashboard-route .owner-approved-event-marker.sale path { stroke: #16834b; }

body.owner-dashboard-route .owner-approved-event-marker .event-chip {
  fill: #fff;
  stroke: #dadad5;
  stroke-width: 1;
}

body.owner-dashboard-route .owner-approved-event-marker .event-chip-text {
  fill: #111;
  font-size: 8.8px;
  font-weight: 850;
  text-anchor: middle;
}

body.owner-dashboard-route .owner-event-empty rect,
body.owner-dashboard-route .owner-conversion-empty rect {
  fill: #f8f8f6;
  stroke: #d9d9d4;
  stroke-dasharray: 5 5;
}

body.owner-dashboard-route .owner-event-empty text,
body.owner-dashboard-route .owner-conversion-empty text {
  fill: #555;
  font-size: 12px;
  font-weight: 760;
}

body.owner-dashboard-route .owner-approved-operating-graph .owner-exec-chart-hotspot.cash-point {
  width: 22px;
  height: 22px;
}

body.owner-dashboard-route .owner-approved-operating-graph .owner-exec-chart-hotspot.event {
  width: 42px;
  height: 42px;
}

body.owner-dashboard-route .owner-approved-operating-graph .owner-exec-chart-hotspot.ribbon {
  width: 34px;
  height: 118px;
}

body.owner-dashboard-route .owner-approved-operating-graph .owner-exec-chart-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 9px 12px;
  padding: 8px 2px 0;
  color: #444;
  font-size: 11px;
}

body.owner-dashboard-route .owner-approved-operating-graph .owner-exec-chart-legend span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-weight: 760;
}

body.owner-dashboard-route .owner-approved-operating-graph .owner-exec-chart-legend i {
  width: 20px;
  height: 3px;
  border-radius: 999px;
  background: #111;
}

body.owner-dashboard-route .owner-approved-operating-graph .owner-exec-chart-legend .forecast { background: #315f88; }
body.owner-dashboard-route .owner-approved-operating-graph .owner-exec-chart-legend .reserve { background: #b6861f; }
body.owner-dashboard-route .owner-approved-operating-graph .owner-exec-chart-legend .low { background: rgba(80, 108, 132, .35); }

body.owner-dashboard-route .owner-approved-operating-graph .owner-exec-chart-legend em {
  margin-left: auto;
  color: #555;
  font-style: normal;
  font-weight: 700;
}

body.owner-dashboard-route .owner-decision-panel {
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 8px;
  padding: 12px;
  border-radius: 8px;
  overflow: hidden;
}

body.owner-dashboard-route .owner-decision-panel h3 {
  margin: 0 0 6px;
  color: #111;
  font-size: 11px;
  letter-spacing: .03em;
}

body.owner-dashboard-route .owner-decision-panel ul {
  display: grid;
  gap: 5px;
  margin: 0;
  padding: 0;
  list-style: none;
}

body.owner-dashboard-route .owner-decision-panel li {
  position: relative;
  padding-left: 13px;
  color: #333;
  font-size: 11px;
  line-height: 1.25;
}

body.owner-dashboard-route .owner-decision-panel li::before {
  position: absolute;
  left: 0;
  top: .55em;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #22d3ee;
  content: "";
}

body.owner-dashboard-route .owner-decision-primary article {
  gap: 7px;
  padding: 11px;
  border-color: #99f6e4;
  background: #f4fdff;
}

body.owner-dashboard-route .owner-decision-primary article > strong {
  font-size: 18px;
  line-height: 1.08;
}

body.owner-dashboard-route .owner-decision-primary p {
  font-size: 11px;
  line-height: 1.25;
}

body.owner-dashboard-route .owner-decision-primary dl {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px 8px;
}

body.owner-dashboard-route .owner-decision-primary dl div {
  grid-template-columns: 1fr;
  gap: 1px;
}

body.owner-dashboard-route .owner-decision-primary dt {
  font-size: 9px;
}

body.owner-dashboard-route .owner-decision-primary dd {
  font-size: 10.5px;
  line-height: 1.15;
}

body.owner-dashboard-route .owner-decision-panel .owner-decision-primary .btn {
  min-height: 30px;
}

body.owner-dashboard-route .owner-decision-alternatives > div {
  gap: 5px;
}

body.owner-dashboard-route .owner-decision-alternatives {
  padding-top: 6px;
  border-top: 1px solid #ecece8;
}

body.owner-dashboard-route .owner-decision-alternatives > div > button {
  padding: 6px 8px;
}

body.owner-dashboard-route .owner-decision-alternatives b {
  font-size: 11px;
}

body.owner-dashboard-route .owner-decision-alternatives span,
body.owner-dashboard-route .owner-view-all-actions {
  font-size: 10.5px;
}

body.owner-dashboard-route .owner-product-priority-strip {
  min-height: 126px;
  padding: 10px 12px 12px;
}

body.owner-dashboard-route .owner-product-priority-grid .head,
body.owner-dashboard-route .owner-product-priority-row {
  grid-template-columns: 1.2fr .85fr .7fr .75fr .75fr .78fr;
}

body.owner-dashboard-route .owner-product-priority-row > *,
body.owner-dashboard-route .owner-product-priority-grid .head span {
  padding: 7px 9px;
  font-size: 11px;
}

body.owner-dashboard-route .owner-designed-empty {
  display: grid;
  place-content: center;
  min-height: 460px;
  border: 1px dashed #d2d2cc;
  border-radius: 8px;
  background: #fff;
  color: #555;
  text-align: center;
}

body.owner-dashboard-route .owner-designed-empty b {
  color: #111;
}

@media (max-width: 1180px) {
  body.owner-dashboard-route .owner-exec-unified .owner-exec-main-grid {
    grid-template-columns: 1fr;
  }

  body.owner-dashboard-route .owner-approved-operating-graph,
  body.owner-dashboard-route .owner-decision-panel {
    min-height: auto;
  }
}

/* Owner Dashboard usability pass: legible, compact, and visibly interactive. */
body.owner-dashboard-route .owner-exec-dashboard.owner-exec-unified {
  gap: 16px !important;
  padding: 18px 22px 34px !important;
}

body.owner-dashboard-route .owner-exec-priority-brief {
  min-height: 0 !important;
  padding: 14px 16px !important;
  gap: 14px !important;
  border-width: 1px 1px 1px 5px !important;
}

body.owner-dashboard-route .owner-exec-priority-brief > i {
  width: 38px !important;
  height: 38px !important;
}

body.owner-dashboard-route .owner-exec-priority-brief > div {
  gap: 5px !important;
}

body.owner-dashboard-route .owner-exec-priority-brief > div > em {
  font-size: 11px !important;
  letter-spacing: .13em !important;
}

body.owner-dashboard-route .owner-exec-priority-brief > div > strong {
  font-size: clamp(17px, 1.2vw, 21px) !important;
  line-height: 1.22 !important;
}

body.owner-dashboard-route .owner-exec-priority-brief > div > span {
  gap: 6px !important;
}

body.owner-dashboard-route .owner-exec-priority-brief > div > span b {
  padding: 5px 9px !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
}

body.owner-dashboard-route .owner-exec-priority-brief > button {
  min-height: 42px !important;
  padding: 0 16px !important;
  font-size: 13px !important;
}

body.owner-dashboard-route .owner-dashboard-section-head {
  align-items: end !important;
  margin-bottom: 9px !important;
}

body.owner-dashboard-route .owner-dashboard-section-head > div {
  gap: 4px !important;
}

body.owner-dashboard-route .owner-dashboard-section-head span {
  font-size: 11px !important;
  letter-spacing: .13em !important;
}

body.owner-dashboard-route .owner-dashboard-section-head strong {
  font-size: clamp(20px, 1.55vw, 27px) !important;
  line-height: 1.12 !important;
}

body.owner-dashboard-route .owner-dashboard-section-head small {
  max-width: 360px !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  text-align: right !important;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi-grid.owner-exec-primary-grid,
body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi-grid.owner-exec-secondary-grid {
  gap: 10px !important;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi.owner-metric-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 5px !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 13px 14px 11px !important;
  border-radius: 12px !important;
  text-align: left !important;
  cursor: pointer !important;
  overflow: hidden !important;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease !important;
}

body.owner-dashboard-route .owner-exec-primary-grid .owner-exec-kpi.owner-metric-card {
  min-height: 154px !important;
}

body.owner-dashboard-route .owner-exec-secondary-grid .owner-exec-kpi.owner-metric-card {
  min-height: 142px !important;
}

body.owner-dashboard-route .owner-metric-card:hover {
  transform: translateY(-2px) !important;
  border-color: #7893a4 !important;
  box-shadow: 0 9px 22px rgba(18, 42, 55, .11) !important;
}

body.owner-dashboard-route .owner-metric-card:focus-visible {
  outline: 3px solid #2f6f8d !important;
  outline-offset: 2px !important;
}

body.owner-dashboard-route .owner-metric-card .owner-metric-card-head {
  display: grid !important;
  grid-template-columns: 20px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 7px !important;
  min-width: 0 !important;
}

body.owner-dashboard-route .owner-metric-card .owner-metric-card-icon {
  display: grid !important;
  place-items: center !important;
  width: 20px !important;
  height: 20px !important;
  color: #496879 !important;
}

body.owner-dashboard-route .owner-metric-card .owner-metric-card-icon svg {
  width: 16px !important;
  height: 16px !important;
}

body.owner-dashboard-route .owner-metric-card .owner-metric-card-label {
  min-width: 0 !important;
  color: #35434d !important;
  font-size: 11px !important;
  font-weight: 850 !important;
  line-height: 1.15 !important;
  letter-spacing: .085em !important;
  text-transform: uppercase !important;
  white-space: normal !important;
}

body.owner-dashboard-route .owner-metric-card .owner-metric-card-open {
  padding: 3px 6px !important;
  border-radius: 999px !important;
  background: #eef4f6 !important;
  color: #426377 !important;
  font-size: 9px !important;
  font-weight: 850 !important;
  letter-spacing: .05em !important;
  text-transform: uppercase !important;
  opacity: .78 !important;
}

body.owner-dashboard-route .owner-metric-card:hover .owner-metric-card-open,
body.owner-dashboard-route .owner-metric-card:focus-visible .owner-metric-card-open {
  background: #dceaf0 !important;
  opacity: 1 !important;
}

body.owner-dashboard-route .owner-exec-unified .owner-metric-card > .owner-metric-card-value {
  display: block !important;
  margin-top: 2px !important;
  color: #0c151b !important;
  font-size: clamp(24px, 1.65vw, 32px) !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: -.035em !important;
}

body.owner-dashboard-route .owner-exec-unified .owner-metric-card > .owner-metric-card-context {
  display: block !important;
  min-height: 17px !important;
  color: #5f6b73 !important;
  font-size: 12px !important;
  font-style: normal !important;
  font-weight: 650 !important;
  line-height: 1.28 !important;
  white-space: normal !important;
}

body.owner-dashboard-route .owner-exec-unified .owner-metric-card > .owner-kpi-visual {
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  grid-template-rows: auto auto !important;
  gap: 2px 8px !important;
  width: 100% !important;
  min-height: 24px !important;
  margin-top: auto !important;
}

body.owner-dashboard-route .owner-exec-unified .owner-metric-card > .owner-kpi-visual > i {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  height: 8px !important;
}

body.owner-dashboard-route .owner-exec-unified .owner-metric-card > .owner-kpi-visual small {
  font-size: 9px !important;
  line-height: 1 !important;
}

body.owner-dashboard-route .owner-metric-card .owner-metric-card-foot {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  margin-top: 2px !important;
  padding-top: 7px !important;
  border-top: 1px solid #e5eaed !important;
}

body.owner-dashboard-route .owner-metric-card .owner-metric-card-foot b {
  min-width: 0 !important;
  color: #9d382e !important;
  font-size: 11px !important;
  font-weight: 850 !important;
  line-height: 1.2 !important;
  white-space: normal !important;
}

body.owner-dashboard-route .owner-metric-card.good .owner-metric-card-foot b {
  color: #17694b !important;
}

body.owner-dashboard-route .owner-metric-card .owner-metric-card-foot > span {
  flex: 0 0 auto !important;
  color: #3c6074 !important;
  font-size: 10px !important;
  font-weight: 850 !important;
  white-space: nowrap !important;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-main-grid {
  grid-template-columns: minmax(0, 2.55fr) minmax(300px, .8fr) !important;
  gap: 10px !important;
  align-items: start !important;
}

body.owner-dashboard-route .owner-target-cash-graph.owner-approved-operating-graph,
body.owner-dashboard-route .owner-exec-actions-panel {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
}

body.owner-dashboard-route .owner-target-cash-graph.owner-approved-operating-graph {
  padding: 14px !important;
}

body.owner-dashboard-route .owner-target-graph-head {
  gap: 14px !important;
}

body.owner-dashboard-route .owner-target-graph-head > div:first-child > span {
  font-size: 12px !important;
}

body.owner-dashboard-route .owner-target-graph-head > div:first-child > strong {
  margin-top: 3px !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
}

body.owner-dashboard-route .owner-target-graph-head .owner-exec-chart-stats span {
  font-size: 10px !important;
  line-height: 1.3 !important;
}

body.owner-dashboard-route .owner-target-graph-head .owner-exec-chart-stats b {
  font-size: 12px !important;
}

body.owner-dashboard-route .owner-target-graph-toolbar {
  min-height: 30px !important;
  margin: 7px 0 2px !important;
}

body.owner-dashboard-route .owner-target-legend {
  gap: 7px 13px !important;
  font-size: 10px !important;
  line-height: 1.2 !important;
}

body.owner-dashboard-route .owner-target-cash-graph .owner-exec-chart-canvas,
body.owner-dashboard-route .owner-target-cash-graph .owner-exec-cash-svg.owner-operating-svg.owner-target-operating-svg {
  height: 330px !important;
  min-height: 330px !important;
  max-height: 330px !important;
}

body.owner-dashboard-route .owner-target-graph-footer {
  min-height: 26px !important;
  font-size: 10px !important;
}

body.owner-dashboard-route .owner-exec-actions-panel {
  gap: 10px !important;
  padding: 14px !important;
}

body.owner-dashboard-route .owner-exec-actions-panel h3 {
  font-size: 12px !important;
  line-height: 1.25 !important;
}

body.owner-dashboard-route .owner-exec-actions-panel ul {
  gap: 6px !important;
}

body.owner-dashboard-route .owner-exec-actions-panel ul li {
  font-size: 12px !important;
  line-height: 1.32 !important;
}

body.owner-dashboard-route .owner-exec-actions-panel ol {
  gap: 7px !important;
}

body.owner-dashboard-route .owner-exec-actions-panel ol li > button {
  min-height: 66px !important;
  padding: 10px !important;
}

body.owner-dashboard-route .owner-exec-actions-panel ol li > button b {
  font-size: 12px !important;
  line-height: 1.25 !important;
}

body.owner-dashboard-route .owner-exec-actions-panel ol li > button strong {
  font-size: 12px !important;
}

body.owner-dashboard-route .owner-exec-actions-panel ol li > button i {
  font-size: 10px !important;
}

@media (max-width: 1180px) {
  body.owner-dashboard-route .owner-exec-dashboard.owner-exec-unified {
    padding: 16px !important;
  }

  body.owner-dashboard-route .owner-exec-unified .owner-exec-main-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (max-width: 720px) {
  body.owner-dashboard-route .owner-dashboard-section-head {
    align-items: start !important;
  }

  body.owner-dashboard-route .owner-dashboard-section-head small {
    text-align: left !important;
  }

  body.owner-dashboard-route .owner-exec-priority-brief {
    grid-template-columns: auto minmax(0, 1fr) !important;
  }

  body.owner-dashboard-route .owner-exec-priority-brief > button {
    grid-column: 1 / -1 !important;
    width: 100% !important;
  }

  body.owner-dashboard-route .owner-target-cash-graph .owner-exec-chart-canvas,
  body.owner-dashboard-route .owner-target-cash-graph .owner-exec-cash-svg.owner-operating-svg.owner-target-operating-svg {
    height: 300px !important;
    min-height: 300px !important;
    max-height: 300px !important;
  }
}

@media (max-width: 900px) {
  body.owner-dashboard-route .owner-exec-top-controls.owner-exec-header-compact,
  body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi-grid {
    grid-template-columns: 1fr 1fr;
  }

  body.owner-dashboard-route .owner-approved-operating-graph .owner-approved-operating-svg {
    min-width: 920px;
  }

  body.owner-dashboard-route .owner-approved-operating-graph .owner-exec-chart-canvas {
    overflow-x: auto;
  }
}
.modal-state.is-dirty::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 6px;
  border-radius: 999px;
  background: #14b8c6;
  vertical-align: 1px;
}
.row-actions { display: flex; gap: 6px; justify-content: flex-end; }
.inline-tag { font-size: 11px; background: #eef4fe; color: var(--brand-dark); padding: 2px 8px; border-radius: 6px; font-weight: 600; }
.empty { text-align: center; padding: 40px; color: var(--muted); }
.legend { display:flex; gap:16px; flex-wrap:wrap; font-size:12px; color:var(--muted); margin-top:8px; }
.legend span::before { content:""; display:inline-block; width:10px; height:10px; border-radius:3px; margin-right:6px; vertical-align:middle; }


/* Products & Settings: make the monthly case grid the primary workflow. */
#view:has(#sales-grid) {
  display: flex;
  flex-direction: column;
}

.manaforge-product-strip {
  margin: 0 0 12px;
  padding: 10px;
  border: 1px solid #dfe5dc;
  border-left: 5px solid var(--manaforge-highlight);
  border-radius: 8px;
  background: linear-gradient(180deg, #fff, #fbfcf4);
  box-shadow: var(--shadow);
}

.manaforge-product-strip-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}

.manaforge-product-strip-head span {
  font-size: 11px;
  font-weight: 850;
  color: var(--muted);
  letter-spacing: .04em;
  text-transform: uppercase;
}

.manaforge-product-strip-head strong {
  font-size: 12px;
  color: #1e1e1e;
}

.manaforge-product-card-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.manaforge-product-card {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 9px;
  align-items: center;
  min-height: 82px;
  padding: 8px;
  border: 1px solid #e6eadc;
  border-radius: 8px;
  background: #fff;
}

.manaforge-product-card img {
  width: 58px;
  height: 58px;
  object-fit: contain;
  border-radius: 7px;
  background: #f7f8f1;
}

.manaforge-product-card strong,
.manaforge-product-card span,
.manaforge-product-card p {
  display: block;
  min-width: 0;
}

.manaforge-product-card strong {
  font-size: 12px;
  color: #1e1e1e;
}

.manaforge-product-card span {
  margin-top: 1px;
  font-size: 10px;
  font-weight: 800;
  color: #4f5600;
}

.manaforge-product-card p {
  margin: 3px 0 0;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.25;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.manaforge-product-thumb {
  flex: 0 0 auto;
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 7px;
  border: 1px solid #e3e8d9;
  background: #fff;
  overflow: hidden;
}

.manaforge-product-thumb img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.product-economics-page {
  gap: 14px;
}
.product-management-page {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.product-management-tabs {
  position: sticky;
  top: 0;
  z-index: 130;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px;
  border: 1px solid #dbe5f1;
  border-radius: 8px;
  background: color-mix(in srgb, var(--panel) 96%, #fff);
  box-shadow: 0 8px 22px rgba(15, 27, 45, .06);
}
.product-management-tab {
  min-height: 34px;
  border: 1px solid transparent;
  border-radius: 7px;
  background: transparent;
  color: var(--muted);
  padding: 7px 11px;
  font: inherit;
  font-size: 12px;
  font-weight: 850;
  cursor: pointer;
}
.product-management-tab:hover,
.product-management-tab:focus-visible {
  border-color: #cbd7e6;
  background: #f7fafc;
  color: var(--ink);
  outline: none;
}
.product-management-tab.active {
  border-color: var(--brand);
  background: #eef4fe;
  color: var(--brand-dark);
}
.product-management-tab-panel {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.product-management-tab-panel[hidden] {
  display: none;
}
.product-management-section-head {
  margin: 0;
  padding: 0 2px;
}
.product-management-econ-split {
  display: grid;
  grid-template-columns: minmax(360px, 1fr) minmax(360px, 1fr);
  gap: 10px;
  padding: 12px 14px 14px;
}
.product-management-subpanel {
  overflow: hidden;
  border: 1px solid #dfe5dc;
  border-radius: 8px;
  background: #fff;
}
.product-management-subhead {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 42px;
  padding: 8px 10px;
  border-bottom: 1px solid #edf0e2;
  background: #fbfcf4;
}
.product-management-subhead span {
  color: #4f5549;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.product-econ-grid.compact {
  grid-template-columns: repeat(4, minmax(96px, 1fr));
  padding: 10px;
}
.product-material-check {
  align-self: center;
  justify-items: center;
}
.product-material-check input {
  width: 18px;
  min-height: 18px;
}
.product-management-summary-table {
  min-width: 1180px;
}
.product-management-summary-table th,
.product-management-summary-table td {
  text-align: right;
  vertical-align: top;
}
.product-management-summary-table th:first-child,
.product-management-summary-table td:first-child {
  position: sticky;
  left: 0;
  z-index: 5;
  min-width: 210px;
  max-width: 210px;
  text-align: left;
  background: var(--panel);
  box-shadow: 1px 0 0 var(--line);
}
.product-management-summary-table td span,
.product-management-summary-table tfoot span {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
}
.product-summary-name {
  display: flex;
  align-items: center;
  gap: 8px;
}
.product-summary-name .link-button {
  min-width: 0;
  text-align: left;
  font-weight: 900;
}
.product-management-summary-table tfoot td {
  border-top: 2px solid var(--line);
  font-weight: 950;
}
.product-econ-intro {
  border-left: 5px solid var(--manaforge-highlight);
}
.product-econ-intro p {
  max-width: 980px;
  margin: 8px 0 0;
  color: #4f5549;
  font-size: 12.5px;
  font-weight: 650;
  line-height: 1.4;
}
.product-econ-list {
  display: grid;
  gap: 14px;
}
.product-econ-card {
  overflow: hidden;
  border: 1px solid #dfe5dc;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(30, 30, 30, .055);
}
.product-econ-card > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 14px;
  background: #1e1e1e;
  color: #fff;
}
.product-econ-card > header > div {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 10px;
}
.product-econ-card > header b {
  display: block;
  color: #fff;
  font-size: 15px;
  font-weight: 950;
}
.product-econ-card > header em {
  display: block;
  color: #d9ded2;
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
}
.product-econ-card > header .btn {
  border-color: var(--manaforge-highlight);
  background: var(--manaforge-highlight);
  color: #1e1e1e;
  font-weight: 950;
}
.product-econ-grid,
.product-mix-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(120px, 1fr));
  gap: 8px;
  padding: 12px 14px;
}
.product-econ-grid label,
.product-mix-grid label,
.product-material-row label {
  display: grid;
  gap: 4px;
  min-width: 0;
}
.product-econ-grid span,
.product-mix-grid span,
.product-material-row label span {
  color: #4f5549;
  font-size: 9.5px;
  font-weight: 950;
  letter-spacing: .02em;
  text-transform: uppercase;
}
.product-econ-grid input,
.product-mix-grid input,
.product-mix-grid select,
.product-material-row input {
  width: 100%;
  min-height: 32px;
  border: 1px solid #dbe5f1;
  border-radius: 7px;
  background: #fff;
  padding: 7px 8px;
  font: inherit;
  font-variant-numeric: tabular-nums;
}
.product-econ-grid em,
.product-mix-grid em {
  color: #6f7469;
  font-size: 10px;
  font-style: normal;
  font-weight: 700;
}
.product-ims-rule {
  display: grid;
  grid-template-columns: minmax(280px, .7fr) minmax(520px, 1.3fr);
  gap: 10px;
  padding: 0 14px 12px;
}
.product-ims-supply {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.product-ims-supply span {
  display: grid;
  gap: 3px;
  min-width: 0;
  border: 1px solid #dfe5dc;
  border-radius: 8px;
  background: #fbfcf4;
  padding: 9px 10px;
}
.product-ims-supply b,
.product-mix-rule-head span,
.product-materials-head span {
  color: #4f5549;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.product-ims-supply strong {
  color: #1e1e1e;
  font-size: 15px;
  font-weight: 950;
}
.product-ims-supply em {
  overflow: hidden;
  color: #6f7469;
  font-size: 10.5px;
  font-style: normal;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.product-mix-rule,
.product-materials-panel {
  overflow: hidden;
  border: 1px solid #dfe5dc;
  border-radius: 8px;
  background: #fff;
}
.product-mix-rule-head,
.product-materials-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: baseline;
  padding: 10px 12px;
  border-bottom: 1px solid #edf0e2;
  background: #fbfcf4;
}
.product-mix-rule-head strong,
.product-materials-head strong {
  color: #1e1e1e;
  font-size: 12px;
  font-weight: 900;
}
.product-mix-grid {
  grid-template-columns: repeat(6, minmax(96px, 1fr)) auto;
  padding: 10px 12px;
}
.product-mix-grid .btn {
  align-self: end;
  min-height: 32px;
  white-space: nowrap;
}
.product-materials-panel {
  margin: 0 14px 14px;
}
.product-material-row {
  display: grid;
  grid-template-columns: minmax(220px, 1.4fr) repeat(3, minmax(100px, .6fr)) auto;
  gap: 8px;
  align-items: end;
  padding: 10px 12px;
  border-top: 1px solid #edf0e2;
}
.product-material-row:first-of-type {
  border-top: 0;
}
.product-material-row > div {
  display: grid;
  gap: 3px;
  min-width: 0;
  align-self: center;
}
.product-material-row strong {
  color: #1e1e1e;
  font-size: 12px;
  font-weight: 900;
}
.product-material-row > div span {
  overflow: hidden;
  color: #6f7469;
  font-size: 11px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.product-material-row .btn {
  min-height: 32px;
}

@media (max-width: 1280px) {
  .manaforge-product-card-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .product-econ-grid,
  .product-mix-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .product-management-econ-split {
    grid-template-columns: 1fr;
  }
  .product-ims-rule {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .manaforge-product-strip-head {
    display: block;
  }
  .manaforge-product-card-row {
    grid-template-columns: 1fr;
  }
  .product-econ-card > header,
  .product-mix-rule-head,
  .product-materials-head {
    align-items: stretch;
    flex-direction: column;
  }
  .product-econ-grid,
  .product-mix-grid,
  .product-ims-supply,
  .product-material-row {
    grid-template-columns: 1fr;
  }
  .product-management-tabs {
    overflow-x: auto;
  }
  .product-management-tab {
    flex: 0 0 auto;
  }
}

#sales-grid {
  min-width: 1120px;
}

#sales-grid input:focus {
  border-color: var(--brand);
  box-shadow: var(--focus-ring);
  outline: none;
}


/* Products accordion body: same grid-first layout inside the accordion wrapper. */
/* Row-level case forecasting controls. */
.driver-grid .sticky-product {
  vertical-align: top;
}
.row-forecast-controls {
  display: grid;
  grid-template-columns: minmax(120px, 1fr) 58px auto;
  gap: 6px;
  margin-top: 8px;
  align-items: center;
}
.row-forecast-controls select,
.row-forecast-controls input {
  width: 100%;
  min-height: 28px;
  padding: 4px 6px;
  border: 1px solid var(--line);
  border-radius: 6px;
  font-size: 11px;
}
.row-forecast-controls .btn {
  min-height: 28px;
  padding: 4px 8px;
}
#sales-grid .forecast-month {
  background: var(--amber-bg);
}
#sales-grid input.case-cell {
  width: 68px;
  min-height: 34px;
  padding: 6px 8px;
  text-align: center;
  font-weight: 650;
}


/* 13-week cash matrix: cash lines down rows, weeks across columns. */
.cash-matrix {
  min-width: 1320px;
  border-collapse: separate;
  border-spacing: 0;
}
.cash-matrix th,
.cash-matrix td {
  min-width: 104px;
}
.cash-matrix th:first-child,
.cash-matrix td:first-child {
  --cash-sticky-bg: #fff;
  position: sticky;
  left: 0;
  z-index: 70;
  min-width: 230px;
  max-width: 230px;
  width: 230px;
  text-align: left;
  background: var(--cash-sticky-bg);
  overflow: visible;
  isolation: isolate;
  box-shadow: 1px 0 0 #cfd8e3;
}
.cash-matrix thead th:first-child {
  z-index: 90;
}
.cash-matrix th:last-child,
.cash-matrix td:last-child {
  --cash-sticky-bg: #f8fafc;
  position: sticky;
  right: 0;
  z-index: 75;
  min-width: 172px;
  max-width: 172px;
  width: 172px;
  background: var(--cash-sticky-bg);
  overflow: visible;
  isolation: isolate;
  box-shadow: -1px 0 0 #cfd8e3;
}
.cash-matrix thead th:last-child {
  z-index: 90;
}
.cash-matrix th:first-child::after,
.cash-matrix td:first-child::after {
  content: "";
  position: absolute;
  top: 0;
  right: -1px;
  bottom: 0;
  width: 1px;
  pointer-events: none;
  background: #cfd8e3;
  box-shadow: 5px 0 10px -10px rgba(15, 23, 42, .35);
}
.cash-matrix th:last-child::before,
.cash-matrix td:last-child::before {
  content: "";
  position: absolute;
  top: 0;
  left: -1px;
  bottom: 0;
  width: 1px;
  pointer-events: none;
  background: #cfd8e3;
  box-shadow: -5px 0 10px -10px rgba(15, 23, 42, .35);
}
.cash-matrix tr.subtotal td {
  background: #f4f7fb;
}
.cash-matrix tr.subtotal td:first-child {
  --cash-sticky-bg: #f4f7fb;
  background: var(--cash-sticky-bg);
}


/* Cleanup for Monthly Cases Sold by Product grid. */
.sales-grid-panel {
  overflow: hidden;
  margin-top: 4px;
}
.sales-grid-panel .section-head {
  position: sticky;
  top: 0;
  z-index: 8;
  margin: -1px -1px 6px;
  padding: 8px 11px;
  background: #fff;
  border-bottom: 1px solid var(--line);
}
.sales-grid-panel .section-head h2 {
  margin-bottom: 2px;
}
.sales-grid-panel .section-head .help {
  font-size: 11px;
  line-height: 1.25;
}
.sales-grid-scroll {
  max-height: calc(100vh - 165px);
  overflow: auto;
  border-radius: 8px;
  background: #fff;
}
#sales-grid.driver-grid {
  border-collapse: separate;
  border-spacing: 0;
  min-width: 1640px;
}
#sales-grid.driver-grid th,
#sales-grid.driver-grid td {
  padding: 5px 7px;
  vertical-align: middle;
}
#sales-grid.driver-grid th:not(:first-child),
#sales-grid.driver-grid td:not(:first-child) {
  min-width: 96px;
  text-align: center;
}
#sales-grid.driver-grid th:first-child,
#sales-grid.driver-grid td:first-child {
  position: sticky;
  left: 0;
  z-index: 5;
  min-width: 520px;
  max-width: 520px;
  width: 520px;
  padding-left: 10px;
  padding-right: 10px;
  background: #fff;
  overflow: hidden;
  box-shadow: 12px 0 0 #fff, 18px 0 14px rgba(15, 23, 42, .05), 1px 0 0 var(--line);
}
#sales-grid.driver-grid thead th {
  position: sticky;
  top: 0;
  z-index: 4;
  background: #fff;
  box-shadow: 0 1px 0 var(--line);
  height: 34px;
}
#sales-grid.driver-grid thead th:first-child {
  z-index: 7;
}
#sales-grid.driver-grid td:first-child .unit-sales-product-name {
  display: block;
  appearance: none;
  border: 0;
  background: transparent;
  padding: 0;
  color: var(--ink);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.15;
  min-width: 110px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-align: left;
  cursor: pointer;
}
#sales-grid.driver-grid td:first-child .unit-sales-product-name:hover {
  color: var(--blue);
  text-decoration: underline;
}
#sales-grid.driver-grid input.case-cell {
  width: 64px;
  min-height: 29px;
  padding: 3px 6px;
  text-align: center;
  font-size: 12px;
  font-weight: 650;
}
.row-forecast-controls {
  display: grid;
  grid-template-columns: 106px 126px 40px 12px 44px minmax(118px, 1fr);
  gap: 4px;
  align-items: center;
  width: 100%;
  max-width: 500px;
}
.row-forecast-controls.setup-needed-controls {
  grid-template-columns: 112px minmax(170px, 1fr);
  max-width: 430px;
}
.row-forecast-controls.setup-needed-controls .forecast-gate-note {
  grid-column: auto;
}
.row-forecast-controls select,
.row-forecast-controls input {
  min-height: 28px;
  padding: 3px 6px;
  font-size: 10.5px;
}
.row-forecast-controls .growth-input {
  text-align: right;
}
.growth-input-suffix {
  color: var(--muted);
  font-size: 10.5px;
  font-weight: 700;
  margin-left: -2px;
}
.history-rate {
  color: var(--muted);
  font-size: 10.5px;
  font-weight: 650;
  line-height: 1.25;
  white-space: nowrap;
  text-align: left;
  overflow: hidden;
  text-overflow: ellipsis;
}
.row-forecast-controls input:disabled {
  background: #f1f5f9;
  color: var(--muted);
}
.row-forecast-controls select:disabled,
.row-forecast-controls .btn:disabled,
#sales-grid.driver-grid input.case-cell:disabled {
  cursor: not-allowed;
  opacity: .72;
}
.row-forecast-controls .btn {
  min-height: 28px;
  padding: 3px 6px;
  font-size: 10.5px;
}
.forecast-gate-note {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 6px;
  width: 100%;
  color: #7c4a03;
  background: #e8f9fd;
  border: 1px solid #9adfec;
  border-radius: 6px;
  padding: 4px 7px;
  font-size: 10.8px;
  line-height: 1.25;
  text-align: left;
  cursor: pointer;
}
.forecast-gate-note span:last-child {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.forecast-gate-note:hover {
  border-color: #d99a16;
  background: #dff7fb;
}
.forecast-gated-row .sticky-product {
  --sticky-bg: #f0fbfd;
}
.forecast-gated-cell {
  background: #f8fafc !important;
}
.forecast-gated-cell .forecast-growth-note {
  color: #7c4a03;
}
.forecast-growth-note {
  min-height: 12px;
  margin-top: 2px;
  color: var(--amber);
  font-size: 10px;
  font-weight: 650;
  line-height: 1.15;
  white-space: nowrap;
}
.forecast-growth-note:empty {
  display: none;
}
.forecast-growth-note.manual-exception {
  color: #075985;
}
.product-inline-editor[hidden] {
  display: none;
}
.product-modal-summary {
  display: grid;
  gap: 3px;
  margin-bottom: 12px;
  padding: 9px 10px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #f8fafc;
}
.product-modal-summary span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .02em;
  text-transform: uppercase;
}
.product-modal-summary strong {
  color: var(--ink);
  font-size: 14px;
}
.product-modal-summary em {
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
}
.product-timing-helper {
  display: grid;
  gap: 10px;
  margin: 0 0 12px;
  padding: 11px 12px;
  border: 1px solid #dbe5f1;
  border-radius: 8px;
  background: #fbfdff;
}
.product-timing-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 3px 10px;
  align-items: baseline;
}
.product-timing-head span {
  grid-column: 1 / -1;
  color: var(--muted);
  font-size: 10.5px;
  font-weight: 900;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.product-timing-head strong {
  color: var(--ink);
  font-size: 18px;
  line-height: 1.05;
}
.product-timing-head em {
  color: #075985;
  font-size: 12px;
  font-style: normal;
  font-weight: 850;
}
.product-timing-flow {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 34px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
}
.product-timing-flow > i {
  display: block;
  height: 3px;
  border-radius: 999px;
  background: #bfdbfe;
  position: relative;
}
.product-timing-flow > i::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -1px;
  width: 9px;
  height: 9px;
  border-left: 3px solid #93c5fd;
  border-bottom: 3px solid #93c5fd;
  transform: translateY(-50%) rotate(45deg);
}
.product-timing-flow span,
.product-timing-impact span {
  display: grid;
  gap: 3px;
  min-width: 0;
  border: 1px solid #e5edf6;
  border-radius: 8px;
  background: #fff;
  padding: 8px 9px;
}
.product-timing-flow b,
.product-timing-impact b {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}
.product-timing-flow em,
.product-timing-impact em {
  overflow: hidden;
  color: var(--ink);
  font-size: 12px;
  font-style: normal;
  font-weight: 750;
  line-height: 1.25;
  text-overflow: ellipsis;
}
.product-timing-impact {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}
.product-timing-helper p {
  margin: 0;
  color: #334155;
  font-size: 12px;
  line-height: 1.35;
}
.product-inline-editor {
  display: grid;
  grid-template-columns: minmax(130px, 1.15fr) repeat(5, minmax(72px, .8fr)) minmax(150px, 1fr) auto;
  gap: 5px;
  margin-top: 6px;
  padding: 7px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
  align-items: end;
}
.product-inline-status {
  display: grid;
  align-content: center;
  gap: 4px;
  min-height: 42px;
  padding: 5px 7px;
  border: 1px solid #e5edf7;
  border-radius: 7px;
  background: #fff;
  min-width: 0;
}
.product-inline-status span:not(.badge) {
  color: #5b6678;
  font-size: 10.5px;
  font-weight: 700;
  line-height: 1.15;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.product-inline-editor label {
  display: flex;
  flex-direction: column;
  gap: 2px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 750;
  line-height: 1.15;
}
.product-inline-editor input {
  min-height: 26px;
  padding: 3px 5px;
  font-size: 11px;
  text-align: right;
}
.product-inline-metrics {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  color: var(--muted);
  font-size: 10.5px;
  font-weight: 700;
}
.product-inline-metrics span {
  display: flex;
  justify-content: space-between;
  gap: 6px;
  padding: 5px 6px;
  border-radius: 6px;
  background: #fff;
  border: 1px solid #e5edf7;
}
.product-inline-metrics strong {
  color: var(--ink);
}
.product-inline-actions {
  display: flex;
  justify-content: flex-end;
  gap: 6px;
  align-items: end;
}
.product-inline-actions .btn {
  min-height: 26px;
  padding: 3px 8px;
  font-size: 10.5px;
}
.product-exception-panel {
  margin-top: 10px;
  padding: 10px 12px;
}
.product-exception-panel .section-head {
  margin-bottom: 8px;
}
.exception-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 7px;
}
.exception-item {
  display: grid;
  grid-template-columns: minmax(90px, 1fr) auto;
  gap: 4px 8px;
  align-items: center;
  padding: 7px 9px;
  border: 1px solid #9adfec;
  border-left: 4px solid #d99a16;
  border-radius: 7px;
  background: #e8f9fd;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}
.exception-item strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.exception-item > span:last-child {
  grid-column: 1 / -1;
  color: #7c4a03;
  font-size: 11px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.exception-item:hover {
  background: #dff7fb;
  border-color: #d99a16;
}


/* Cash forecast detail expanders. */
.cash-detail {
  margin-top: 12px;
  border-top: 1px solid var(--line);
  padding-top: 10px;
}
.cash-detail summary {
  cursor: pointer;
  color: var(--brand-dark);
  font-size: 12px;
  font-weight: 700;
  margin-bottom: 8px;
}
.cash-detail[open] summary {
  margin-bottom: 10px;
}


/* Editable 13-week cash forecast cells and row detail. */
.cash-kpi-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(128px, 1fr));
  gap: 8px;
}
.cash-readout {
  display: grid;
  grid-template-columns: minmax(260px, .8fr) minmax(440px, 1.25fr) minmax(320px, .9fr);
  gap: 12px;
  align-items: stretch;
  padding: 12px;
}
.cash-readout-main {
  display: grid;
  grid-template-columns: 1fr;
  gap: 9px;
  min-width: 0;
}
.cash-readout-position {
  min-width: 0;
}
.cash-readout-value {
  margin-top: 3px;
  font-size: 31px;
  line-height: 1;
  font-weight: 850;
  color: #059669;
}
.cash-readout-status {
  display: grid;
  gap: 3px;
  padding: 9px 10px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #f8fafc;
  font-size: 12px;
}
.cash-readout-status strong {
  font-size: 13px;
}
.cash-readout-status.risk {
  border-color: #38bdf8;
  background: #effcff;
}
.cash-readout-status.ok {
  border-color: #a7f3d0;
  background: #ecfdf5;
}
.cash-risk-brief {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  min-width: 0;
}
.cash-risk-brief > div {
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.cash-risk-brief span,
.cash-readout-drivers strong,
.cash-driver-row span {
  display: block;
}
.cash-risk-brief span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.cash-risk-brief strong {
  display: block;
  margin-top: 5px;
  font-size: 18px;
  line-height: 1.05;
}
.cash-risk-brief em {
  display: block;
  margin-top: 5px;
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  line-height: 1.25;
  white-space: normal;
}
.cash-readout-drivers {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  align-content: start;
  min-width: 0;
}
.cash-readout-drivers > div:first-child {
  min-width: 0;
}
.cash-readout-drivers > div:first-child strong {
  color: var(--ink);
  font-size: 13px;
}
.cash-readout-drivers p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 11.5px;
  line-height: 1.35;
}
.cash-driver-list {
  display: grid;
  gap: 5px;
}
.cash-driver-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  padding: 6px 8px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #fbfcfe;
}
.cash-driver-row span {
  min-width: 0;
  color: var(--ink);
  font-size: 12px;
  font-weight: 750;
}
.cash-driver-row em {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-size: 10.5px;
  font-style: normal;
  font-weight: 650;
}
.cash-driver-row strong {
  font-size: 12.5px;
  text-align: right;
}
.cash-kpi-card {
  min-height: 0;
  padding: 6px 8px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 1px 4px rgba(15, 23, 42, .05);
}
.cash-kpi-card .metric-label {
  font-size: 9.5px;
  line-height: 1.15;
}
.cash-kpi-card .metric-value {
  margin-top: 2px;
  font-size: 16px;
  line-height: 1.1;
}
.cash-kpi-card .metric-sub {
  margin-top: 3px;
  font-size: 10px;
  line-height: 1.15;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cash-kpi-card .metric-value,
.cash-kpi-card .metric-value.pos,
.cash-kpi-card .metric-value.neg {
  color: var(--ink);
}
.cash-readout .cash-kpi-card .metric-value.neg,
.cash-readout .cash-kpi-card .metric-value.pos {
  color: inherit;
}
.cash-readout .cash-kpi-card .metric-value.neg {
  color: var(--red);
}
.cash-readout .cash-kpi-card .metric-value.pos {
  color: #059669;
}
.cash-neg,
.cash-forecast-panel .neg,
.cash-forecast-panel td.neg,
.cash-forecast-panel .cash-neg {
  color: var(--red);
}
.cash-forecast-panel {
  margin-top: 8px;
}
.cash-page-section {
  height: clamp(520px, calc(100vh - 190px), 760px);
  max-height: clamp(520px, calc(100vh - 190px), 760px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  scroll-margin-top: 86px;
}
.cash-page-section.cash-forecast-panel {
  display: block;
  overflow: auto;
}
.cash-page-section > .table-scroll,
.cash-page-section > .cc-table-scroll,
.cash-page-section > .bridge-timing-scroll {
  min-height: 0;
  flex: 1 1 auto;
  overflow: auto;
}
.cash-page-section .section-head {
  flex: 0 0 auto;
}
.cash-page-section .customer-terms-summary,
.cash-page-section .customer-terms-tools,
.cash-page-section .bridge-decision-row {
  flex: 0 0 auto;
}
.cash-page-section .bridge-block {
  min-height: 0;
  display: flex;
  flex-direction: column;
}
.cash-page-section .bridge-block:last-child {
  flex: 1 1 auto;
}
.cash-page-section .bridge-block .table-scroll {
  min-height: 0;
  overflow: auto;
}
.cash-page-section .credit-card-manager-body {
  min-height: 0;
  overflow: visible;
}
.cash-model-note {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 14px;
  padding: 10px 14px;
  color: #475569;
  font-size: 12px;
}
.cash-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 0;
  padding: 8px 10px;
  font-size: 12px;
}
.cash-toolbar strong {
  display: block;
  color: var(--ink);
  line-height: 1.2;
}
.cash-toolbar span {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 650;
  line-height: 1.25;
}
.cash-toolbar .toolbar-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: nowrap;
  justify-content: flex-end;
}
.cash-toolbar .inline-field {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--muted);
  font-size: 12px;
  margin: 0;
}
.cash-toolbar .inline-field input {
  width: 82px;
  height: 24px;
  padding: 4px 8px;
  font-size: 12px;
}
.cash-model-note strong {
  color: var(--ink);
  white-space: nowrap;
}
.qb-refresh-panel {
  margin-bottom: 14px;
}
.qb-refresh-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(150px, 1fr));
  gap: 10px;
  margin-top: 10px;
}
.qb-refresh-file {
  display: grid;
  gap: 5px;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 9px;
  background: #fff;
  font-size: 12px;
}
.qb-refresh-file span {
  font-weight: 700;
  color: var(--ink);
}
.qb-refresh-file small {
  color: var(--muted);
  line-height: 1.3;
}
.qb-refresh-file input {
  font-size: 12px;
}
.rebuild-flow {
  display: grid;
  grid-template-columns: repeat(5, minmax(130px, 1fr));
  gap: 8px;
  margin-top: 10px;
}
.rebuild-flow > div,
.rebuild-flow > button {
  display: grid;
  gap: 3px;
  min-height: 56px;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #f8fafc;
  color: var(--ink);
  text-align: left;
  text-decoration: none;
}
.rebuild-flow > button {
  cursor: pointer;
}
.rebuild-flow strong {
  font-size: 11px;
}
.rebuild-flow span {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.25;
}
.cash-forecast-panel {
  margin-top: 6px;
}
.cash-forecast-panel .section-head {
  margin-bottom: 8px;
}
.growth-bridge-panel {
  margin-top: 10px;
}

.cash-page-section.growth-bridge-panel {
  height: auto;
  max-height: none;
  padding-bottom: 12px;
}
.bridge-answer-row {
  display: grid;
  grid-template-columns: minmax(420px, 1fr) auto;
  align-items: stretch;
  gap: 10px;
  margin: 8px 0;
}
.bridge-answer,
.bridge-answer-metrics {
  border: 1px solid #d8e0ec;
  border-radius: 6px;
  background: #f8fafc;
  padding: 10px 12px;
}
.bridge-answer {
  display: grid;
  gap: 3px;
}
.bridge-answer small,
.bridge-equation-item small {
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .03em;
}
.bridge-answer strong {
  color: var(--ink);
  font-size: 15px;
  line-height: 1.3;
}
.bridge-answer-metrics {
  display: flex;
  align-items: center;
  gap: 16px;
  white-space: nowrap;
}
.bridge-answer-metrics span {
  color: #526178;
  font-size: 12px;
  font-weight: 700;
}
.bridge-answer-metrics b {
  display: block;
  color: var(--ink);
  font-size: 13px;
}
.bridge-equation {
  display: grid;
  grid-template-columns: minmax(140px, 1fr) 22px minmax(140px, 1fr) 22px minmax(140px, 1fr) 22px minmax(140px, 1fr);
  align-items: stretch;
  gap: 6px;
  margin: 8px 0 12px;
}
.bridge-equation-op {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #64748b;
  font-weight: 900;
}
.bridge-equation-item {
  display: grid;
  gap: 3px;
  min-height: 68px;
  padding: 9px 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}
.bridge-equation-item.in {
  border-left: 4px solid var(--green);
}
.bridge-equation-item.out {
  border-left: 4px solid var(--red);
}
.bridge-equation-item.gap {
  border-color: #f4c9c3;
  border-left: 4px solid var(--red);
  background: #fff7f5;
}
.bridge-equation-item strong {
  color: var(--ink);
  font-size: 16px;
  line-height: 1.1;
}
.bridge-equation-item.out strong,
.bridge-equation-item.gap strong {
  color: var(--red);
}
.bridge-equation-item span {
  color: #526178;
  font-size: 11px;
  line-height: 1.2;
}
.bridge-block {
  margin-top: 12px;
}
.bridge-block-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 6px;
}
.bridge-block-head h3 {
  margin: 0;
  font-size: 14px;
}
.bridge-block-head span {
  color: var(--muted);
  font-size: 12px;
}
.growth-scenario-scroll {
  margin-bottom: 0;
}
.growth-bridge-table th,
.growth-bridge-table td {
  font-size: 12px;
  padding: 7px 8px;
}
.growth-bridge-table th:first-child,
.growth-bridge-table td:first-child {
  text-align: left;
}
.growth-scenario-table tr:first-child td {
  background: #f8fafc;
}
.growth-bridge-table .bridge-money-in {
  color: var(--brand-dark);
  font-weight: 650;
}
.growth-bridge-table .bridge-money-out {
  color: var(--red);
}
.growth-bridge-table .bridge-money-neutral {
  color: var(--ink);
}
.growth-bridge-table .strong {
  font-weight: 750;
}
.bridge-product-metric {
  appearance: none;
  border: 0;
  border-bottom: 1px dotted currentColor;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font: inherit;
  font-weight: 750;
  padding: 0 1px 1px;
}
.bridge-product-metric:hover,
.bridge-product-metric:focus-visible {
  color: var(--brand);
  outline: none;
}
.bridge-timing-link {
  appearance: none;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-weight: inherit;
  padding: 0;
  cursor: pointer;
  text-decoration: underline dotted;
  text-underline-offset: 2px;
}
.bridge-timing-link:hover {
  color: var(--brand);
}
.bridge-timing-table {
  min-width: 1120px;
}
.bridge-timing-table th:first-child,
.bridge-timing-table td:first-child {
  position: sticky;
  left: 0;
  z-index: 2;
  min-width: 170px;
  background: #fff;
  box-shadow: 1px 0 0 var(--line);
}
.bridge-timing-table thead th {
  white-space: nowrap;
}
.bridge-timing-table tbody th {
  text-align: left;
  font-size: 12px;
  padding: 7px 8px;
}
.bridge-timing-table tr.bridge-net th,
.bridge-timing-table tr.bridge-net td,
.bridge-timing-table tr.bridge-cumulative th,
.bridge-timing-table tr.bridge-cumulative td {
  font-weight: 800;
  background: #f8fafc;
}
.bridge-timing-table tr.bridge-cumulative th,
.bridge-timing-table tr.bridge-cumulative td {
  border-top: 2px solid #cfd8e3;
}

.bridge-proof-cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 10px 0;
}

.bridge-proof-cards > div,
.bridge-explain-box {
  border: 1px solid #d8e2ef;
  border-radius: 7px;
  background: #fbfdff;
  padding: 9px 10px;
}

.bridge-proof-cards span {
  display: block;
  color: var(--muted);
  font-size: 10.5px;
  font-weight: 900;
  text-transform: uppercase;
}

.bridge-proof-cards strong {
  display: block;
  margin-top: 3px;
  color: var(--ink);
  font-size: 13px;
}

.bridge-proof-cards em,
.bridge-explain-box span {
  display: block;
  margin-top: 4px;
  color: #5b6b82;
  font-size: 11px;
  font-style: normal;
  line-height: 1.25;
}

.bridge-explain-box {
  margin: 8px 0;
  border-left: 4px solid var(--brand);
}

.bridge-explain-box strong {
  display: block;
  color: var(--ink);
  font-size: 12.5px;
}

.bridge-equation.compact {
  grid-template-columns: minmax(120px, 1fr) 22px minmax(120px, 1fr) 22px minmax(120px, 1fr) 22px minmax(120px, 1fr);
  margin: 9px 0;
}

.bridge-equation.compact.single {
  grid-template-columns: minmax(160px, 260px);
}

.bridge-equation.compact .bridge-equation-item {
  min-height: 58px;
  padding: 8px 9px;
}

.bridge-equation.compact .bridge-equation-item strong {
  font-size: 14px;
}

.bridge-history-grid {
  margin: 8px 0 10px;
}

.bridge-history-grid h3 {
  margin: 0 0 6px;
  color: var(--ink);
  font-size: 13px;
}

.bridge-history-grid table {
  width: 100%;
}
.cash-alert-strip,
.customer-terms-panel {
  margin-top: 6px;
}
.cash-alert-strip {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 9px;
  font-size: 11.5px;
}
.cash-alert-strip > strong {
  color: var(--ink);
  white-space: nowrap;
}
.cash-alert-chips {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  overflow-x: auto;
}
.cash-alert-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: 260px;
  padding: 4px 7px;
  border-left: 3px solid var(--line);
  border-top: 1px solid var(--line);
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: #f8fafc;
  border-radius: 999px;
  color: inherit;
  font: inherit;
  line-height: 1.2;
  text-align: left;
  white-space: nowrap;
  cursor: help;
}
.cash-alert-chip span,
.cash-alert-chip em {
  overflow: hidden;
  text-overflow: ellipsis;
}
.cash-alert-chip span {
  font-weight: 800;
}
.cash-alert-chip em {
  color: var(--muted);
  font-style: normal;
}
.cash-alert-chip.critical {
  border-left-color: var(--red);
  background: #fff5f5;
}
.cash-alert-chip.warning {
  border-left-color: var(--amber);
  background: #effcff;
}
.cash-alert-chip.info {
  border-left-color: #2f6fb2;
  background: #eff6ff;
}
.customer-terms-table th,
.customer-terms-table td {
  font-size: 12px;
  padding: 3px 6px;
  height: 30px;
  vertical-align: middle;
}
.customer-terms-table {
  width: 100%;
  table-layout: fixed;
}
.customer-terms-table th.num,
.customer-terms-table th.num .customer-sort-head {
  justify-content: flex-end;
  text-align: right;
}
.customer-terms-table input,
.customer-terms-table select {
  height: 24px;
  padding: 2px 6px;
  font-size: 12px;
}
.customer-terms-tools {
  display: flex;
  justify-content: flex-end;
  margin: 8px 0 6px;
}
.customer-terms-tools input {
  width: min(320px, 100%);
  height: 30px;
  border: 1px solid var(--line);
  border-radius: 7px;
  padding: 4px 9px;
  font-size: 12px;
}
.customer-sort-head {
  appearance: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font: inherit;
  font-weight: 850;
  letter-spacing: inherit;
  padding: 0;
  text-transform: inherit;
}
.customer-sort-head:hover,
.customer-sort-head:focus-visible {
  color: var(--brand);
  outline: none;
}
.customer-sort-head span {
  color: var(--brand);
  font-size: 9px;
}
.customer-terms-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(120px, 1fr));
  gap: 8px;
  margin: 10px 0 8px;
}
.customer-terms-summary > div {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
  padding: 8px 10px;
}
.customer-terms-summary span,
.customer-term-forecast small,
.customer-term-ar small {
  display: block;
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .02em;
  text-transform: uppercase;
}
.customer-terms-summary strong {
  display: block;
  margin-top: 2px;
  color: var(--ink);
  font-size: 16px;
}
.customer-term-customer {
  width: 16%;
  text-align: left;
  font-weight: 600;
}
.customer-term-tx {
  width: 8%;
  color: var(--ink);
  text-align: right;
}
.customer-term-revenue {
  width: 10%;
  text-align: right;
}
.customer-term-month {
  width: 8%;
  text-align: right;
}
.vendor-ap-name {
  width: 17%;
  text-align: left;
  font-weight: 600;
}
.vendor-ap-bills,
.vendor-ap-current,
.vendor-ap-cashout,
.vendor-ap-days {
  width: 9%;
  text-align: right;
}
.vendor-ap-month {
  width: 8%;
  text-align: right;
}
.vendor-ap-method {
  width: 9%;
  text-align: center;
}
.vendor-ap-method select {
  width: 100%;
}
.vendor-ap-actions {
  width: 6%;
  white-space: nowrap;
  text-align: right;
}
.vendor-ap-actions .icon-btn {
  min-width: 26px;
  min-height: 24px;
  margin-left: 3px;
  padding: 4px 6px;
  border-radius: 6px;
}
.vendor-ap-actions .icon-btn[hidden] {
  display: none;
}
.vendor-ap-actions .icon-btn svg {
  width: 14px;
  height: 14px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}
.vendor-ap-actions .icon-btn.danger:not(:disabled) {
  color: var(--red);
}
.vendor-ap-table .vendor-payment-days {
  width: 54px;
  min-height: 24px;
  text-align: center;
  font-weight: 500;
  padding: 2px 5px;
}
.ap-payment-date-table th:first-child,
.ap-payment-date-table td:first-child {
  min-width: 220px;
  width: 220px;
}
.ap-payment-date-table th:nth-child(2),
.ap-payment-date-table td:nth-child(2) {
  min-width: 110px;
  white-space: nowrap;
}
.ap-payment-date-table td {
  vertical-align: middle;
}
.ap-payment-date-control {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
}
.ap-payment-date-control input[type="date"] {
  width: 132px;
  min-height: 30px;
  border: 1px solid #cfd8e3;
  border-radius: 6px;
  padding: 4px 7px;
  color: var(--ink);
  font: inherit;
}
.ap-payment-date-control input[type="date"]:focus {
  border-color: var(--brand);
  outline: none;
  box-shadow: 0 0 0 2px rgba(31, 111, 235, .12);
}
.vendor-ap-table th,
.vendor-ap-table td {
  padding: 3px 6px;
  height: 30px;
}
.vendor-ap-table tfoot th,
.vendor-ap-table tfoot td {
  padding: 4px 6px;
}
.customer-term-ar {
  width: 10%;
  text-align: right;
}
.customer-proof-link,
.vendor-proof-link,
.customer-ar-link,
.vendor-ap-link {
  appearance: none;
  border: 0;
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.2;
  padding: 2px 0;
  text-align: right;
  text-decoration: underline dotted;
  text-decoration-color: #94a3b8;
  text-underline-offset: 3px;
}
.customer-proof-link.neg,
.vendor-proof-link.neg,
.customer-ar-link.neg,
.vendor-ap-link.neg {
  color: var(--red);
}
.customer-proof-link:hover,
.customer-proof-link:focus-visible,
.vendor-proof-link:hover,
.vendor-proof-link:focus-visible,
.customer-ar-link:hover,
.customer-ar-link:focus-visible,
.vendor-ap-link:hover,
.vendor-ap-link:focus-visible {
  color: var(--blue);
  outline: none;
  text-decoration-color: currentColor;
}
.customer-history-table {
  margin-top: 12px;
}
.customer-history-table th {
  width: 180px;
  color: var(--muted);
  font-size: 11px;
  text-transform: uppercase;
}
.customer-history-table td {
  color: var(--ink);
  font-weight: 700;
}
.customer-term-signals {
  width: 9%;
}
.customer-term-forecast {
  width: 9%;
  text-align: center;
}
.customer-terms-table .customer-term-days {
  width: 54px;
  min-height: 24px;
  text-align: center;
  font-weight: 500;
  padding: 2px 5px;
}
.customer-term-actions {
  width: 6%;
  white-space: nowrap;
  text-align: right;
  position: sticky;
  right: 0;
  z-index: 2;
  background: var(--panel);
  box-shadow: -1px 0 0 var(--line);
}
.customer-terms-table thead .customer-term-actions {
  z-index: 4;
  background: var(--finance-header-bg);
}
.customer-terms-table tfoot .customer-term-actions {
  z-index: 3;
  background: #f8fafc;
}
.customer-term-actions .icon-btn {
  margin-left: 3px;
  min-width: 26px;
  min-height: 24px;
  padding: 4px 6px;
  border-radius: 6px;
}
.customer-term-actions .icon-btn[hidden] {
  display: none;
}
.customer-term-actions .icon-btn svg {
  width: 14px;
  height: 14px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}
.customer-term-actions .icon-btn.danger:not(:disabled) {
  color: var(--red);
}
.customer-terms-table tr.editing {
  background: #f8fbff;
}
.customer-term-read,
.vendor-ap-read {
  display: inline-block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: middle;
  white-space: nowrap;
}
.vendor-ap-table tfoot th,
.vendor-ap-table tfoot td {
  position: sticky;
  bottom: 0;
  z-index: 1;
  border-top: 2px solid #cfd8e3;
  background: #f8fafc;
  color: var(--ink);
  font-size: 12px;
  font-weight: 750;
}
.vendor-ap-table tfoot td {
  text-align: right;
}
.vendor-ap-table tfoot td:nth-child(6),
.vendor-ap-table tfoot td:nth-child(7) {
  text-align: left;
}
.vendor-ap-table tr.editing {
  background: #f8fbff;
}
.cash-obligations {
  margin-top: 14px;
}
.cash-confidence-panel {
  margin-top: 14px;
}
.cash-confidence-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(130px, 1fr));
  gap: 10px;
}
.cash-confidence-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  padding: 10px 12px;
}
.cash-confidence-card > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 8px;
}
.cash-confidence-card strong {
  display: block;
  font-size: 17px;
  margin-bottom: 4px;
}
.cash-confidence-card small,
.cash-confidence-note {
  display: block;
  color: var(--muted);
  font-size: 11.5px;
  line-height: 1.4;
}
.cash-confidence-note {
  margin-top: 9px;
}
.cash-confidence-pill {
  display: inline-flex;
  align-items: center;
  width: max-content;
  max-width: 100%;
  border-radius: 999px;
  padding: 2px 7px;
  border: 1px solid var(--line);
  background: #eef0f4;
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
  line-height: 1.35;
  text-transform: uppercase;
  letter-spacing: .03em;
  white-space: nowrap;
}
.cash-confidence-pill.imported,
.cash-confidence-card.imported .cash-confidence-pill {
  background: var(--green-bg);
  border-color: #b9e8d0;
  color: var(--green);
}
.cash-confidence-pill.confirmed,
.cash-confidence-card.confirmed .cash-confidence-pill {
  background: #e8f1ff;
  border-color: #bdd5ff;
  color: var(--brand-dark);
}
.cash-confidence-pill.inferred,
.cash-confidence-card.inferred .cash-confidence-pill {
  background: var(--amber-bg);
  border-color: #9adfec;
  color: var(--amber);
}
.cash-confidence-pill.user-override,
.cash-confidence-card.user-override .cash-confidence-pill {
  background: #f1eaff;
  border-color: #d6c3ff;
  color: #6d28d9;
}
.cash-confidence-pill.model,
.cash-confidence-card.model .cash-confidence-pill {
  background: #eef0f4;
  border-color: var(--line);
  color: var(--muted);
}
.cash-line-confidence {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px;
  margin: 4px 0 0 20px;
  color: var(--muted);
  font-size: 10.5px;
  line-height: 1.25;
}
.obligation-bucket {
  border-top: 1px solid var(--line);
  padding: 10px 0;
}
.obligation-bucket summary {
  display: grid;
  grid-template-columns: minmax(150px, 1fr) 130px 88px minmax(180px, 1.2fr);
  gap: 10px;
  align-items: center;
  cursor: pointer;
  font-size: 12px;
}
.obligation-bucket summary strong {
  text-align: right;
}
.obligation-bucket summary em {
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
}
.obligation-total-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(140px, 1fr));
  gap: 8px;
  margin: 10px 0 8px;
}
.obligation-total-card {
  border: 1px solid var(--line);
  border-left-width: 4px;
  border-radius: 8px;
  background: #fff;
  padding: 8px 10px;
}
.obligation-total-card.critical {
  border-left-color: var(--red);
  background: #fff7f7;
}
.obligation-total-card.warning {
  border-left-color: var(--amber);
  background: #effcff;
}
.obligation-total-card.info {
  border-left-color: var(--brand);
  background: #f8fbff;
}
.obligation-total-card.review {
  border-left-color: #7c3aed;
  background: #faf5ff;
}
.obligation-total-card.missing {
  border-left-color: var(--muted);
  background: #f8fafc;
}
.obligation-total-card span,
.obligation-cash span,
.obligation-source small,
.obligation-timing small {
  display: block;
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.obligation-total-card strong {
  display: block;
  margin-top: 3px;
  font-size: 16px;
}
.obligation-total-card small,
.obligation-total-card em {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.25;
  font-style: normal;
}
.obligation-list {
  display: grid;
  gap: 7px;
  margin-top: 9px;
}
.obligation-item {
  display: grid;
  grid-template-columns: 96px minmax(220px, 1.25fr) 116px 104px minmax(170px, .9fr) minmax(118px, auto);
  gap: 10px;
  align-items: center;
  border: 1px solid var(--line);
  border-left: 4px solid var(--line);
  border-radius: 8px;
  background: #fff;
  padding: 7px 9px;
}
.obligation-item.cash-in {
  border-left-color: var(--green);
}
.obligation-item.cash-out {
  border-left-color: var(--red);
}
.obligation-source {
  display: grid;
  justify-items: start;
  gap: 4px;
}
.obligation-source .cash-confidence-pill {
  max-width: 100%;
}
.obligation-party {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.obligation-party strong {
  color: var(--ink);
}
.obligation-party span,
.obligation-party em {
  overflow: hidden;
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.obligation-timing {
  display: grid;
  gap: 2px;
}
.obligation-timing > span {
  color: var(--ink);
  font-weight: 800;
}
.obligation-timing > strong {
  color: var(--muted);
  font-size: 11px;
}
.obligation-cash {
  text-align: right;
}
.obligation-cash strong {
  display: block;
  margin-top: 2px;
  font-size: 15px;
}
.obligation-impact {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.obligation-impact span {
  display: block;
  color: var(--muted);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.obligation-impact strong {
  overflow: hidden;
  color: #334155;
  font-size: 11.5px;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.obligation-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(58px, 1fr));
  gap: 5px;
  justify-content: end;
}
.obligation-actions .btn {
  min-width: 0;
  padding-left: 8px;
  padding-right: 8px;
}
.obligation-empty {
  padding: 10px;
}
@media (max-width: 1100px) {
  .obligation-total-grid {
    grid-template-columns: repeat(2, minmax(160px, 1fr));
  }
  .obligation-item {
    grid-template-columns: 104px minmax(220px, 1fr) 120px 105px;
  }
  .obligation-impact {
    grid-column: 2 / -1;
  }
  .obligation-actions {
    grid-column: 2 / -1;
    grid-template-columns: repeat(4, minmax(70px, max-content));
    justify-content: start;
  }
}
.cash-override-input {
  width: 82px;
  min-height: 30px;
  padding: 4px 6px;
  border: 1px solid var(--line);
  border-radius: 6px;
  text-align: right;
  font-weight: 650;
  background: #fff;
}
.beginning-cash-edit-cell .cash-override-input {
  width: 96px;
  min-height: 28px;
  padding: 3px 7px;
  background: #fffdf7;
  font-variant-numeric: tabular-nums;
  color: var(--ink);
}
.beginning-cash-edit-cell .cash-override-input.neg {
  color: var(--red);
}
.beginning-cash-edit-cell .cash-override-input.pos {
  color: var(--green);
}
.cash-override-input:focus {
  border-color: var(--brand);
  box-shadow: 0 0 0 3px rgba(31,111,235,.12);
  outline: none;
}
.cash-matrix td.manual-override,
.cash-matrix td.manual-override input {
  background: #e9f8ff;
  border-color: var(--amber);
}
.override-note {
  font-size: 10px;
  color: var(--amber);
  margin-top: 3px;
  text-align: right;
}
.cash-summary-row details summary,
.actual-cash-matrix details summary {
  cursor: pointer;
  color: var(--brand-dark);
  font-weight: 700;
}
.cash-line-toggle {
  appearance: none;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-weight: 800;
  padding: 0;
  cursor: pointer;
  text-align: left;
}
.cash-line-toggle:hover {
  color: var(--brand);
}
.cash-detail-row[hidden] {
  display: none;
}
.cash-inline-detail-row td {
  --cash-sticky-bg: #fff;
  background: var(--cash-sticky-bg);
  color: #334155;
  font-weight: 500;
  padding-top: 5px;
  padding-bottom: 5px;
}
.cash-inline-detail-row td:first-child {
  padding-left: 62px;
  font-size: 12px;
}
.cash-inline-detail-row .cash-inline-name {
  display: inline-block;
  max-width: 190px;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: bottom;
  white-space: nowrap;
}
.cash-inline-detail-row td:last-child {
  --cash-sticky-bg: #f8fafc;
  background: var(--cash-sticky-bg);
}
.cash-row-detail-list {
  margin-top: 8px;
  min-width: 240px;
  font-size: 11px;
  color: var(--muted);
}
.cash-row-detail-list div {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 8px;
  padding: 3px 0;
  border-bottom: 1px solid #eef0f4;
}


/* Combined actual + forecast cash grid. Actuals and summaries are read-only; forecast edits live in expanded detail. */
.combined-cash-matrix th.actual-week,
.combined-cash-matrix td.actual-week {
  background: #fbfcfe;
}
.combined-cash-matrix th.forecast-week,
.combined-cash-matrix td.forecast-week {
  background: #fffdf7;
}
.combined-cash-matrix {
  font-size: 11.8px;
  min-width: 1760px;
}
.combined-cash-matrix th,
.combined-cash-matrix td {
  padding: 4px 8px;
}
.combined-cash-matrix td.pos,
.combined-cash-matrix .pos {
  color: var(--ink);
}
.combined-cash-matrix tr.subtotal td {
  --cash-sticky-bg: #f3f6fa;
  background: #f3f6fa;
  color: var(--ink);
  font-weight: 850;
}
.combined-cash-matrix tr.subtotal td:first-child {
  background: var(--cash-sticky-bg);
  box-shadow: 1px 0 0 var(--line);
}
.combined-cash-matrix tr.subtotal td:last-child {
  background: var(--cash-sticky-bg);
  box-shadow: -1px 0 0 var(--line);
}
.combined-cash-matrix th:last-child,
.combined-cash-matrix td:last-child {
  --cash-sticky-bg: #f8fafc;
  background: #f8fafc;
}
.combined-cash-matrix th:first-child,
.combined-cash-matrix th:last-child {
  --cash-sticky-bg: #fff;
  background: #fff;
}
.cash-summary-row summary {
  list-style-position: inside;
}
.cash-summary-row td:first-child {
  font-weight: 700;
}
.cash-number-btn {
  appearance: none;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  line-height: 1.2;
  width: 100%;
  min-height: 22px;
  padding: 2px 3px;
  text-align: right;
  border-radius: 4px;
  cursor: pointer;
}
.cash-number-btn:hover,
.cash-number-btn:focus-visible {
  background: #eaf2ff;
  color: var(--brand-dark);
  text-decoration: underline;
  outline: none;
}
.cash-number-btn.strong {
  font-weight: 850;
}
.cash-section-row td {
  --cash-sticky-bg: #eaf2ff;
  background: var(--cash-sticky-bg);
  color: #063f8f;
  font-size: 12.2px;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .02em;
  border-top: 2px solid #cbdcf8;
  border-bottom: 1px solid #cbdcf8;
  padding-top: 6px;
  padding-bottom: 6px;
}
.cash-section-row td:first-child {
  box-shadow: 1px 0 0 var(--line);
}
.cash-section-row td:last-child {
  box-shadow: -1px 0 0 var(--line);
}
.combined-cash-matrix tr.cash-section-row td:first-child,
.combined-cash-matrix tr.cash-section-row td:last-child {
  --cash-sticky-bg: #eaf2ff;
  background: var(--cash-sticky-bg);
}
.cash-child-row.level-1 td:first-child {
  padding-left: 38px;
  color: #334155;
}
.cash-total-row td {
  --cash-sticky-bg: #f1f5fa;
  background: var(--cash-sticky-bg);
  font-size: 12.6px;
  font-weight: 850;
  border-top: 2px solid #d7e0eb;
  border-bottom: 1px solid #d7e0eb;
  padding-top: 6px;
  padding-bottom: 6px;
}
.cash-total-row td:first-child {
  box-shadow: 1px 0 0 var(--line);
}
.cash-total-row td:last-child {
  box-shadow: -1px 0 0 var(--line);
}
.combined-cash-matrix tr.cash-total-row td:first-child,
.combined-cash-matrix tr.cash-total-row td:last-child {
  --cash-sticky-bg: #f1f5fa;
  background: var(--cash-sticky-bg);
}
.cash-result-row td {
  --cash-sticky-bg: #fff;
  background: var(--cash-sticky-bg);
  font-size: 12.6px;
  font-weight: 850;
  border-top: 2px solid #334155;
  border-bottom: 2px solid #d7e0eb;
  padding-top: 6px;
  padding-bottom: 6px;
}
.cash-result-row td:first-child {
  box-shadow: 1px 0 0 var(--line);
}
.cash-result-row td:last-child {
  box-shadow: -1px 0 0 var(--line);
}
.combined-cash-matrix tr.cash-result-row td:first-child,
.combined-cash-matrix tr.cash-result-row td:last-child {
  --cash-sticky-bg: #fff;
  background: var(--cash-sticky-bg);
}
/* Cash worksheet sticky masks. These intentionally sit after row styles so
   section/total rows cannot overwrite the frozen-column cover. */
.cash-matrix th:first-child,
.cash-matrix td:first-child {
  box-shadow:
    -1px 0 0 var(--cash-sticky-bg),
    1px 0 0 #cfd8e3;
}
.cash-matrix th:last-child,
.cash-matrix td:last-child {
  box-shadow:
    -1px 0 0 #cfd8e3,
    1px 0 0 var(--cash-sticky-bg);
}
.cash-matrix th:first-child::before,
.cash-matrix td:first-child::before,
.cash-matrix th:first-child::after,
.cash-matrix td:first-child::after,
.cash-matrix th:last-child::before,
.cash-matrix td:last-child::before,
.cash-matrix th:last-child::after,
.cash-matrix td:last-child::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  pointer-events: none;
  background: var(--cash-sticky-bg);
}
.cash-matrix th:first-child::before,
.cash-matrix td:first-child::before {
  left: -1px;
  width: 1px;
}
.cash-matrix th:first-child::after,
.cash-matrix td:first-child::after {
  right: -1px;
  width: 1px;
  background: #cfd8e3;
  box-shadow: none;
}
.cash-matrix th:last-child::before,
.cash-matrix td:last-child::before {
  left: -1px;
  width: 1px;
  background: #cfd8e3;
  box-shadow: none;
}
.cash-matrix th:last-child::after,
.cash-matrix td:last-child::after {
  right: -34px;
  width: 34px;
}
.cash-line-toggle {
  appearance: none;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-weight: 800;
  padding: 0;
  cursor: pointer;
  text-align: left;
}
.cash-line-toggle:hover {
  color: var(--brand);
}
.cash-row-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.cash-forecast-mode {
  max-width: 92px;
  min-height: 24px;
  border: 1px solid #cfd8e3;
  border-radius: 6px;
  background: #fff;
  color: #40516a;
  font-size: 11px;
  font-weight: 750;
  padding: 2px 6px;
}
.cash-forecast-mode:hover,
.cash-forecast-mode:focus {
  border-color: var(--brand);
  outline: none;
}
.cash-forecast-mode.locked {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #eef6ff;
  border-color: #bfdbfe;
  color: #1d4ed8;
  cursor: default;
}
.cash-forecast-mode.locked:hover {
  border-color: #bfdbfe;
}
.cash-forecast-audit {
  display: grid;
  gap: 10px;
  margin-bottom: 12px;
}
.cash-forecast-proof th,
.cash-forecast-proof td {
  font-size: 12px;
  vertical-align: top;
}
.cash-forecast-proof-total {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 750;
}
.cash-forecast-proof-total strong {
  color: var(--ink);
  font-size: 14px;
}
.cash-forecast-setting-box {
  margin: 10px 0;
  padding: 10px 12px;
  border: 1px solid #dbe5f0;
  border-radius: 7px;
  background: #fbfcfe;
}
.cash-forecast-setting-box > label,
.cash-manual-toggle {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #334155;
  font-size: 12px;
  font-weight: 800;
}
.cash-forecast-setting-box .form-grid {
  margin-top: 8px;
}
.cash-manual-toggle {
  margin: 4px 0 10px;
}
.cash-product-driver-box {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
  align-items: stretch;
  gap: 8px;
}
.cash-product-driver-box > div,
.cash-product-driver-box > a {
  border: 1px solid #dbe5f0;
  border-radius: 7px;
  background: #fbfcfe;
  padding: 9px 10px;
}
.cash-product-driver-box span {
  display: block;
  color: var(--muted);
  font-size: 10px;
  font-weight: 850;
  text-transform: uppercase;
}
.cash-product-driver-box strong {
  display: block;
  color: var(--ink);
  font-size: 13px;
  line-height: 1.25;
}
.cash-product-driver-box small {
  display: block;
  margin-top: 2px;
  color: #526178;
  font-size: 11px;
  line-height: 1.25;
}
.cash-product-driver-box > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 132px;
  text-decoration: none;
}
.cash-summary-row .cash-line-toggle {
  color: #063f8f;
}
.cash-child-row.level-1 .cash-line-toggle {
  color: #334155;
  font-weight: 650;
}
.cash-child-row.level-1 .cash-line-toggle .exp-caret {
  color: #64748b;
}

/* Keep the frozen cash row-label area wide enough to cover labels + mode controls. */
.combined-cash-matrix th:first-child,
.combined-cash-matrix td:first-child {
  min-width: 230px;
  width: 230px;
  max-width: 230px;
  overflow: visible;
}
.combined-cash-matrix th:nth-child(2),
.combined-cash-matrix td:nth-child(2) {
  min-width: 112px;
}
.combined-cash-matrix .cash-row-label {
  width: 100%;
  justify-content: space-between;
  gap: 8px;
}
.combined-cash-matrix .cash-line-toggle {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.combined-cash-matrix .cash-forecast-mode {
  flex: 0 0 82px;
  max-width: 82px;
  min-width: 82px;
  padding-left: 5px;
  padding-right: 5px;
}
.combined-cash-matrix th:first-child::after,
.combined-cash-matrix td:first-child::after {
  right: -18px;
  width: 18px;
  background: var(--cash-sticky-bg);
  box-shadow: 1px 0 0 #cfd8e3;
}
.cash-static-label {
  display: inline-block;
  color: var(--ink);
  font-weight: 850;
}
.cash-tieout-row td {
  background: #fbfcfe;
  color: #334155;
  font-size: 11px;
}
.cash-tieout-row .cash-static-label {
  color: #475569;
  font-weight: 800;
}
.cash-tieout-row.variance td {
  border-bottom: 1px solid #cfd8e3;
}
.cash-tieout-row.variance td.neg strong {
  color: var(--red);
}
.cash-tieout-row.variance td.pos strong {
  color: #475569;
}
.cash-popup-table th,
.cash-popup-table td {
  min-width: auto;
}
.cash-popup-scroll {
  max-height: 470px;
}
.cash-popup-table {
  min-width: 1280px;
}
.cash-popup-table th:nth-child(2),
.cash-popup-table td:nth-child(2) {
  min-width: 230px;
  max-width: 300px;
  white-space: normal;
}
.cash-popup-table th:nth-child(3),
.cash-popup-table td:nth-child(3) {
  min-width: 175px;
  white-space: normal;
}
.cash-popup-table th:nth-child(4),
.cash-popup-table td:nth-child(4),
.cash-popup-table th:nth-child(5),
.cash-popup-table td:nth-child(5),
.cash-popup-table th:nth-child(6),
.cash-popup-table td:nth-child(6) {
  min-width: 160px;
  white-space: normal;
}
.cash-popup-table select,
.cash-popup-input {
  width: 100%;
  min-height: 28px;
  border: 1px solid #cfd8e3;
  border-radius: 6px;
  background: #fff;
  color: var(--ink);
  font-size: 12px;
  padding: 3px 7px;
}
.cash-popup-stack {
  display: grid;
  gap: 4px;
  margin-top: 5px;
}
.cash-popup-flags {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 8px;
  margin-top: 6px;
}
.cash-popup-flag {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  color: #526178;
  font-size: 11px;
  font-weight: 750;
}
.cash-actual-summary-table {
  min-width: 1320px;
  font-size: 12px;
  border-collapse: separate;
  border-spacing: 0;
}
.cash-actual-summary-table th,
.cash-actual-summary-table td {
  min-width: 96px;
  padding: 6px 8px;
}
.cash-actual-summary-table th:first-child,
.cash-actual-summary-table td:first-child {
  position: sticky;
  left: 0;
  z-index: 4;
  min-width: 230px;
  max-width: 230px;
  width: 230px;
  background: #fff;
  text-align: left;
  box-shadow: 38px 0 0 #fff, 48px 0 18px rgba(15, 23, 42, .07), 1px 0 0 var(--line);
}
.cash-actual-summary-table th:last-child,
.cash-actual-summary-table td:last-child {
  position: sticky;
  right: 0;
  z-index: 4;
  min-width: 112px;
  max-width: 112px;
  width: 112px;
  background: #f8fafc;
  box-shadow: -38px 0 0 #f8fafc, -48px 0 18px rgba(15, 23, 42, .07), -1px 0 0 var(--line);
}
.cash-name-col {
  font-weight: 750;
}
.cash-actual-detail-btn {
  appearance: none;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  width: 100%;
  text-align: right;
  padding: 2px 3px;
  border-radius: 4px;
  cursor: pointer;
}
.cash-actual-detail-btn:hover,
.cash-actual-detail-btn:focus-visible {
  background: #eaf2ff;
  color: var(--brand-dark);
  text-decoration: underline;
  outline: none;
}
.credit-card-manager {
  margin-top: 16px;
  height: auto;
  max-height: none;
  display: block;
  overflow: visible;
}
.credit-card-manager .section-head.compact {
  align-items: baseline;
  border-bottom: 1px solid var(--line);
  margin-bottom: 10px;
  padding-bottom: 10px;
}
.cc-card-jump-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 10px;
}
.cc-card-jump-row a {
  border: 1px solid #dbe5f0;
  border-radius: 999px;
  background: #f8fafc;
  color: var(--ink);
  font-size: 12px;
  font-weight: 650;
  padding: 5px 10px;
  text-decoration: none;
}
.cc-card-jump-row a:hover {
  border-color: #bdd5ff;
  color: var(--brand-dark);
}
.cc-card-block {
  border: 1px solid #dbe5f0;
  border-radius: 8px;
  background: #fff;
  margin: 12px 0;
  overflow: hidden;
}
.cc-card-header {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 14px;
  background: #f7fafc;
  border-bottom: 1px solid #dbe5f0;
}
.cc-card-header h3 {
  margin: 0 0 2px;
  font-size: 15px;
}
.cc-window-note {
  margin-top: 4px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 650;
}
.cc-settings-row {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}
.cc-settings-row label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}
.cc-settings-row input {
  width: 54px;
  min-height: 30px;
  padding: 5px 7px;
  text-align: center;
}
.cc-proof-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(120px, 1fr));
  gap: 8px;
  padding: 10px 14px;
  border-bottom: 1px solid #edf2f7;
  background: #fff;
}
.cc-proof-strip > div {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfcfe;
  padding: 8px 10px;
}
.cc-proof-strip span {
  display: block;
  color: var(--muted);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.cc-proof-strip strong {
  display: block;
  margin-top: 3px;
  color: var(--ink);
  font-size: 15px;
}
.cc-proof-strip em {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-size: 10.5px;
  font-style: normal;
  font-weight: 650;
}
.cc-table-scroll {
  max-height: 260px;
}
.cc-manager-table {
  min-width: 1080px;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 12px;
}
.cc-manager-table th,
.cc-manager-table td {
  padding: 7px 8px;
  min-width: 96px;
}
.cc-manager-table .forecast-week {
  background: #e0f7ff;
}
.cc-manager-table .cc-actual-cell {
  background: #f8fafc;
}
.cc-vendor-col {
  min-width: 220px !important;
  max-width: 220px;
  width: 220px;
  text-align: left !important;
  font-weight: 650;
  background: #fff;
}
.cc-actual-detail {
  width: 100%;
  border: 1px solid transparent;
  border-radius: 7px;
  background: transparent;
  color: var(--ink);
  font: inherit;
  font-weight: 600;
  min-height: 28px;
  padding: 4px 5px;
  text-align: right;
  cursor: pointer;
}
.cc-actual-detail:hover,
.cc-actual-detail:focus-visible {
  border-color: #bdd5ff;
  background: #eff6ff;
  color: var(--brand-dark);
  outline: none;
}
.cc-actual-detail small,
.cc-forecast-cell small {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 700;
}
.cc-forecast-cell {
  vertical-align: top;
}
.cc-forecast-input {
  width: 96px;
  min-height: 30px;
  padding: 5px 7px;
  text-align: right;
  font-weight: 500;
}
.cc-forecast-input.manual-override {
  border-color: #14a37f;
  box-shadow: inset 0 -2px 0 #14a37f;
}
.cc-manager-table .cc-total-col {
  position: sticky;
  right: 0;
  z-index: 2;
  min-width: 120px;
  width: 120px;
  background: #f8fafc;
  box-shadow: -1px 0 0 #dbe5f0;
  text-align: right;
}
.cc-manager-table th.cc-total-col {
  z-index: 3;
  background: #fff;
}
.cc-manager-table td.cc-total-col strong {
  display: block;
  color: var(--ink);
  font-size: 12px;
}
.cc-manager-table td.cc-total-col {
  font-weight: 500;
}
.cc-payment-preview {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
  min-width: 0;
  padding: 10px 14px;
  font-size: 12px;
}
.cc-payment-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid #edf2f7;
}
.cc-payment-grid .cc-payment-preview + .cc-payment-preview {
  border-left: 1px solid #edf2f7;
}
.cc-history-preview {
  background: #fbfcfe;
}
.cc-payment-preview span {
  padding: 3px 7px;
  border: 1px solid #dbe5f0;
  border-radius: 999px;
  background: #f8fafc;
  font-weight: 700;
}
.cc-payment-summary-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  border-top: 1px solid #edf2f7;
  background: #f8fbff;
  padding: 10px 14px;
  font-size: 12px;
}
.cc-payment-summary-row strong {
  margin-right: 4px;
  color: var(--ink);
}
.cc-payment-summary-row span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid #bdd5ff;
  border-radius: 999px;
  background: var(--panel);
  padding: 4px 9px;
}
.cc-payment-summary-row em {
  color: var(--muted);
  font-style: normal;
  font-weight: 750;
}
.cc-payment-summary-row b {
  color: var(--brand-dark);
  font-weight: 900;
}
.cc-tx-scroll {
  max-height: 520px;
}
.cc-tx-table {
  min-width: 1320px;
}
.cc-tx-table thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  cursor: pointer;
}
.cc-tx-table select,
.cc-tx-input {
  width: 100%;
  min-height: 28px;
  border: 1px solid #cfd8e3;
  border-radius: 6px;
  background: #fff;
  color: var(--ink);
  font-size: 12px;
  padding: 3px 7px;
}
@media (max-width: 1000px) {
  .cc-proof-strip,
  .cc-payment-grid {
    grid-template-columns: 1fr;
  }
  .cc-payment-grid .cc-payment-preview + .cc-payment-preview {
    border-left: 0;
    border-top: 1px solid #edf2f7;
  }
}
.combined-cash-matrix .period-label {
  display: block;
  margin-top: 2px;
  font-size: 10px;
  line-height: 1.1;
  color: var(--muted);
  font-weight: 600;
  text-transform: uppercase;
}
.forecast-assumption-table th,
.forecast-assumption-table td {
  min-width: 120px;
  vertical-align: middle;
}
.forecast-assumption-table th:nth-child(4),
.forecast-assumption-table td:nth-child(4) {
  min-width: 220px;
}
.forecast-note-input {
  width: 100%;
  min-height: 30px;
  padding: 4px 8px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}
.cash-detail.nested-detail {
  margin-top: 10px;
}
.cash-detail.nested-detail > summary {
  color: var(--brand-dark);
  font-weight: 700;
}


/* Cash forecast starting balance assumption. */
.starting-cash-panel {
  margin-top: 14px;
}
.cash-assumption-row {
  display: flex;
  align-items: end;
  gap: 10px;
  flex-wrap: wrap;
}
.cash-assumption-row label {
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: 260px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
}
.cash-assumption-row input {
  width: 190px;
  min-height: 34px;
  padding: 6px 8px;
  border: 1px solid var(--line);
  border-radius: 6px;
  font-size: 16px;
  font-weight: 750;
  text-align: right;
}


/* Editable actual cash classification tags. */
.actual-cash-tag {
  min-width: 150px;
  min-height: 30px;
  padding: 4px 8px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  font-size: 12px;
}
.actual-cash-tag:disabled {
  color: var(--muted);
  background: #f8fafc;
}


/* Product-level accrual recast breakdown rows. */
.recast-product td:first-child {
  font-weight: 700;
  color: var(--brand-dark);
}
.recast-detail td {
  background: #fbfdff;
  font-size: 12px;
}
.recast-detail td:first-child {
  color: var(--muted);
}


/* Inline table link used for product settings shortcuts. */
.link-button {
  appearance: none;
  border: 0;
  background: transparent;
  padding: 0;
  color: var(--brand-dark);
  font: inherit;
  font-weight: 700;
  cursor: pointer;
  text-align: left;
}
.link-button:hover {
  color: var(--brand);
  text-decoration: underline;
}


/* Transaction drill modal: fit columns, filter, and sortable headers. */
.drill-modal {
  width: min(1180px, calc(100vw - 56px));
  max-height: calc(100vh - 64px);
}
.drill-filters {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(180px, 240px) minmax(150px, 200px);
  gap: 10px;
  margin-bottom: 10px;
}
.drill-filters input,
.drill-filters select {
  min-height: 34px;
  padding: 6px 8px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}
.drill-table-wrap {
  max-height: 58vh;
  overflow-y: auto;
  overflow-x: hidden;
  border: 1px solid var(--line);
  border-radius: 6px;
}
.drill-table {
  width: 100%;
  table-layout: fixed;
}
.drill-table th,
.drill-table td {
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
  vertical-align: top;
  text-align: left;
}
.drill-table th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: #fff;
  cursor: pointer;
  user-select: none;
}
.drill-table th:nth-child(1), .drill-table td:nth-child(1) { width: 92px; }
.drill-table th:nth-child(2), .drill-table td:nth-child(2) { width: 115px; }
.drill-table th:nth-child(3), .drill-table td:nth-child(3) { width: 150px; }
.drill-table th:nth-child(4), .drill-table td:nth-child(4) { width: 190px; }
.drill-table th:nth-child(6), .drill-table td:nth-child(6) { width: 105px; text-align: right; }
.drill-table th.sort-asc::after { content: ' ^'; }
.drill-table th.sort-desc::after { content: ' v'; }
.pl-proof-cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.pl-proof-cards > div {
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid #d7e3f1;
  border-radius: 8px;
  background: #fff;
}
.pl-proof-cards span,
.pl-proof-section h4,
.pl-proof-chart-head span {
  display: block;
  margin: 0 0 4px;
  color: #64748b;
  font-size: 10.5px;
  font-weight: 850;
  letter-spacing: .035em;
  line-height: 1.15;
  text-transform: uppercase;
}
.pl-proof-cards strong {
  display: block;
  overflow: hidden;
  color: #0f172a;
  font-size: 16px;
  font-weight: 650;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pl-proof-cards strong.neg,
.pl-proof-calc .neg {
  color: #b91c1c;
}
.pl-proof-cards em {
  display: block;
  overflow: hidden;
  margin-top: 3px;
  color: #64748b;
  font-size: 11px;
  font-style: normal;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pl-proof-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(250px, .75fr);
  gap: 10px;
}
.pl-proof-chart,
.pl-proof-section {
  min-width: 0;
  border: 1px solid #d7e3f1;
  border-radius: 8px;
  background: #fff;
}
.pl-proof-chart {
  padding: 10px 12px 8px;
}
.pl-proof-chart-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 5px;
}
.pl-proof-chart-head strong {
  color: #334155;
  font-size: 11px;
  font-weight: 750;
  text-align: right;
}
.pl-proof-chart svg {
  display: block;
  width: 100%;
  height: 190px;
  overflow: visible;
}
.pl-proof-chart .grid {
  stroke: #dce6f1;
  stroke-width: 1;
}
.pl-proof-chart .trend-line {
  fill: none;
  stroke: #16a34a;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}
.pl-proof-chart circle {
  stroke: #fff;
  stroke-width: 2;
}
.pl-proof-chart circle.pos {
  fill: #16a34a;
}
.pl-proof-chart circle.neg {
  fill: #dc2626;
}
.pl-proof-chart .axis-label,
.pl-proof-chart .x-label {
  fill: #64748b;
  font-size: 10.5px;
  font-weight: 650;
}
.pl-proof-chart .point-value {
  fill: #334155;
  font-size: 11px;
  font-weight: 700;
}
.pl-proof-chart .selected circle {
  fill: #22d3ee;
  stroke: #0f172a;
  stroke-width: 2.5;
}
.pl-proof-chart .zero {
  stroke: #334155;
  stroke-dasharray: 4 4;
}
.pl-proof-section {
  padding: 10px 12px;
}
.pl-proof-section h4 {
  margin: 0 0 8px;
}
.pl-proof-calc {
  width: 100%;
  border-collapse: collapse;
}
.pl-proof-calc td {
  padding: 6px 0;
  border-bottom: 1px solid #e2e8f0;
  color: #334155;
  font-size: 12px;
  line-height: 1.25;
}
.pl-proof-calc td:last-child {
  color: #0f172a;
  font-variant-numeric: tabular-nums;
  text-align: right;
}
.pl-proof-calc tr.result td {
  border-top: 1px solid #94a3b8;
  border-bottom: 0;
  font-weight: 750;
}
.pl-proof-note {
  margin: 8px 0 0;
  color: #475569;
  font-size: 12px;
  line-height: 1.35;
}
.pl-proof-note-editor {
  border: 1px solid #d7e3f1;
  border-radius: 8px;
  background: #fff;
}
.pl-proof-note-editor summary {
  padding: 9px 12px;
  color: #475569;
  cursor: pointer;
  font-size: 12px;
  font-weight: 750;
}
.pl-proof-note-editor .drill-note-editor {
  margin: 0;
  border: 0;
  border-top: 1px solid #e2e8f0;
  border-radius: 0 0 8px 8px;
}
.gross-profit-proof {
  display: grid;
  gap: 10px;
}
.gross-profit-explain {
  padding: 9px 11px;
  border: 1px solid #d7e3f1;
  border-left: 3px solid #16a34a;
  border-radius: 8px;
  background: #fff;
}
.gross-profit-explain strong {
  display: block;
  color: #0f172a;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
}
.gross-profit-explain span {
  display: block;
  margin-top: 3px;
  color: #475569;
  font-size: 12px;
  line-height: 1.35;
}
.gross-profit-cards .neg {
  color: #b91c1c;
}
.gross-profit-calc .pl-proof-note {
  padding-top: 2px;
}
.cogs-calc-proof {
  display: grid;
  gap: 10px;
}
.cogs-calc-cards .neg,
.cogs-cost-stack .neg,
.cogs-support-table .neg {
  color: #b91c1c;
}
.cogs-product-support {
  display: grid;
  align-content: start;
}
.cogs-product-bar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 5px 10px;
  padding: 7px 0;
  border-bottom: 1px solid #e2e8f0;
}
.cogs-product-bar:last-child {
  border-bottom: 0;
}
.cogs-product-bar span {
  overflow: hidden;
  color: #334155;
  font-size: 12px;
  font-weight: 650;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cogs-product-bar strong {
  color: #b91c1c;
  font-size: 12px;
  font-weight: 750;
  font-variant-numeric: tabular-nums;
}
.cogs-product-bar em {
  grid-column: 1 / -1;
  display: block;
  height: 5px;
  border-radius: 999px;
  background: linear-gradient(90deg, #dc2626 var(--bar-width), #e2e8f0 var(--bar-width));
}
.cogs-proof-table-wrap {
  overflow: hidden;
  border: 1px solid #dbe4ef;
  border-radius: 8px;
}
.cogs-support-table table {
  width: 100%;
  table-layout: fixed;
}
.cogs-support-table th,
.cogs-support-table td {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cogs-support-table tbody tr {
  cursor: pointer;
}
.cogs-support-table tbody tr:hover {
  background: #f8fbff;
}
.cogs-support-table th:not(:first-child),
.cogs-support-table td:not(:first-child) {
  text-align: right;
}
.product-recon-hero {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.product-recon-metric {
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid #d7e3f1;
  border-radius: 8px;
  background: #fff;
  color: inherit;
  cursor: pointer;
  text-align: left;
}
.product-recon-metric:hover {
  border-color: #9db8dc;
  background: #f8fbff;
}
.product-recon-metric span,
.product-recon-section-head span,
.product-recon-sources span {
  display: block;
  margin-bottom: 4px;
  color: #64748b;
  font-size: 10.5px;
  font-weight: 850;
  letter-spacing: .035em;
  line-height: 1.15;
  text-transform: uppercase;
}
.product-recon-metric strong {
  display: block;
  color: #0f172a;
  font-size: 17px;
  font-weight: 650;
  line-height: 1.15;
}
.product-recon-metric em,
.product-recon-sources em {
  display: block;
  overflow: hidden;
  margin-top: 3px;
  color: #64748b;
  font-size: 11px;
  font-style: normal;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.product-recon-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(260px, .8fr);
  gap: 10px;
}
.product-recon-chart,
.product-recon-calc,
.product-recon-sources {
  min-width: 0;
  border: 1px solid #d7e3f1;
  border-radius: 8px;
  background: #fff;
}
.product-recon-chart,
.product-recon-calc {
  padding: 10px 12px;
}
.product-recon-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 6px;
}
.product-recon-section-head strong {
  overflow: hidden;
  color: #334155;
  font-size: 12px;
  font-weight: 750;
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.product-recon-chart svg {
  display: block;
  width: 100%;
  height: 190px;
  overflow: visible;
}
.product-recon-chart .grid {
  stroke: #dce6f1;
  stroke-width: 1;
}
.product-recon-chart .zero {
  stroke: #334155;
  stroke-dasharray: 4 4;
  stroke-width: 1;
}
.product-recon-chart .trend-line {
  fill: none;
  stroke: #16a34a;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}
.product-recon-chart circle {
  fill: #16a34a;
  stroke: #fff;
  stroke-width: 2;
}
.product-recon-chart .selected circle {
  fill: #22d3ee;
  stroke: #0f172a;
}
.product-recon-chart .axis-label,
.product-recon-chart .x-label {
  fill: #64748b;
  font-size: 10.5px;
  font-weight: 650;
}
.product-recon-chart .point-value {
  fill: #334155;
  font-size: 11px;
  font-weight: 700;
}
.product-recon-calc-list {
  display: grid;
  gap: 0;
}
.product-recon-calc-list > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2px 12px;
  padding: 8px 0;
  border-bottom: 1px solid #e2e8f0;
}
.product-recon-calc-list > div.result {
  margin-top: 2px;
  padding-top: 10px;
  border-top: 1px solid #94a3b8;
  border-bottom: 0;
}
.product-recon-calc-list span {
  color: #334155;
  font-size: 12px;
  font-weight: 650;
}
.product-recon-calc-list strong {
  color: #0f172a;
  font-size: 13px;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  text-align: right;
}
.product-recon-calc-list strong.neg {
  color: #b91c1c;
}
.product-recon-calc-list em {
  grid-column: 1 / -1;
  overflow: hidden;
  color: #64748b;
  font-size: 11px;
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.product-recon-sources {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
}
.product-recon-sources > div {
  min-width: 0;
  padding: 10px 12px;
}
.product-recon-sources > div + div {
  border-left: 1px solid #e2e8f0;
}
.product-recon-sources strong {
  display: block;
  color: #0f172a;
  font-size: 13px;
  font-weight: 650;
}
.drill-note-editor {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
  padding: 10px 12px;
  margin: 0 0 10px;
}
.drill-note-editor label {
  display: block;
  font-size: 11px;
  font-weight: 750;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .02em;
  margin-bottom: 6px;
}
.drill-note-stamp {
  margin: -2px 0 7px;
  color: var(--muted);
  font-size: 11px;
}
.drill-note-editor textarea {
  width: 100%;
  min-height: 66px;
  resize: vertical;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 8px 10px;
  font: inherit;
}
.drill-note-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 8px;
}
.drill-history-summary {
  display: grid;
  grid-template-columns: minmax(110px, .6fr) minmax(220px, 1.4fr) minmax(130px, .7fr);
  gap: 10px;
  margin: 0 0 10px;
}
.drill-history-summary div,
.drill-teach-panel {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
}
.drill-history-summary div {
  padding: 9px 10px;
}
.drill-history-summary span {
  display: block;
  color: var(--muted);
  font-size: 10.5px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .02em;
  margin-bottom: 3px;
}
.drill-history-summary strong {
  color: var(--ink);
  font-size: 13px;
}
.drill-teach-panel {
  padding: 10px 12px;
  margin: 0 0 10px;
}
.drill-teach-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px 12px;
}
.drill-teach-grid .field {
  margin-bottom: 0;
}
.drill-teach-grid input,
.drill-teach-grid select {
  min-height: 34px;
}
.desc-cell {
  line-height: 1.35;
}
.amount-cell {
  font-weight: 650;
}
@media (max-width: 820px) {
  .pl-proof-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pl-proof-grid { grid-template-columns: 1fr; }
  .product-recon-hero { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .product-recon-grid,
  .product-recon-sources { grid-template-columns: 1fr; }
  .product-recon-sources > div + div {
    border-left: 0;
    border-top: 1px solid #e2e8f0;
  }
  .drill-filters { grid-template-columns: 1fr; }
  .drill-modal { width: calc(100vw - 24px); }
}


/* P&L matrix: freeze account labels and totals while months scroll. */
.pl-page {
  display: flex;
  flex-direction: column;
  height: calc(100dvh - 88px);
  min-height: 460px;
  gap: 7px;
}
.pl-period-summary {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 1px 3px rgba(15, 23, 42, .04);
}
.pl-period-item {
  display: grid;
  grid-template-columns: auto auto;
  align-items: baseline;
  gap: 3px 8px;
  min-width: 190px;
  padding-right: 12px;
  border-right: 1px solid #e2e8f0;
}
.pl-period-item span {
  grid-column: 1 / -1;
  color: #64748b;
  font-size: 10px;
  font-weight: 850;
  line-height: 1.1;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.pl-period-item strong {
  color: #0f172a;
  font-size: 14px;
  font-weight: 850;
  line-height: 1.1;
}
.pl-period-item em {
  color: #475569;
  font-style: normal;
  font-size: 11px;
  font-weight: 700;
}
.pl-period-item.forecast strong {
  color: #075985;
}
.pl-period-note {
  margin-left: auto;
  color: #64748b;
  font-size: 11.5px;
  font-weight: 650;
}
.pl-table-scroll {
  overflow-x: hidden;
  overflow-y: auto;
  max-width: 100%;
  flex: 1;
  margin: 0;
  padding: 0;
  max-height: 100%;
  isolation: isolate;
  background: #fff;
}
.pl-scroll-rail {
  position: relative;
  z-index: 45;
  overflow-x: auto;
  overflow-y: hidden;
  height: 14px;
  margin: -2px 0 6px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #eef3f8;
  box-shadow: 0 1px 4px rgba(15, 23, 42, .08);
}
.pl-scroll-rail > div {
  height: 1px;
}
.pl-scroll-rail::-webkit-scrollbar {
  height: 8px;
}
.pl-scroll-rail::-webkit-scrollbar-thumb {
  background: #94a3b8;
  border-radius: 999px;
}
.pl-view-toggle {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  width: max-content;
  padding: 3px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  box-shadow: var(--shadow);
  font-size: 11.5px;
}
.pl-view-toggle span {
  padding: 0 7px;
  color: var(--muted);
  font-weight: 700;
}
.pl-view-toggle .pl-view-divider {
  width: 1px;
  align-self: stretch;
  min-height: 22px;
  padding: 0;
  background: var(--line);
}
.pl-view-btn {
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #334155;
  cursor: pointer;
  font-size: 11.5px;
  font-weight: 750;
  padding: 4px 9px;
}
.pl-view-btn:hover {
  background: #eef4fe;
  color: var(--brand-dark);
}
.pl-view-btn.active {
  background: var(--brand);
  color: #fff;
}
.pl-view-menu {
  position: relative;
}
.pl-view-menu summary {
  list-style: none;
}
.pl-view-menu summary::-webkit-details-marker {
  display: none;
}
.pl-view-menu summary::after {
  content: " v";
  color: var(--muted);
  font-size: 10px;
}
.pl-view-menu[open] summary {
  border-color: #1e1e1e;
  background: #1e1e1e;
  color: var(--manaforge-highlight);
}
.pl-view-menu-panel {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  z-index: 500;
  display: grid;
  gap: 2px;
  min-width: 158px;
  padding: 8px;
  border: 1px solid #dfe5dc;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(30, 30, 30, .16);
}
.pl-view-menu-panel label {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 30px;
  padding: 5px 7px;
  border-radius: 6px;
  color: #1e1e1e;
  cursor: pointer;
  font-size: 12px;
  font-weight: 800;
}
.pl-view-menu-panel label:hover {
  background: #effcff;
}
.pl-view-menu-panel input {
  accent-color: #1e1e1e;
}
.pl-page.view-cash tr[data-basis="accrual"],
.pl-page.view-cash tr[data-basis="variance"],
.pl-page.view-accrual tr[data-basis="cash"],
.pl-page.view-accrual tr[data-basis="variance"] {
  display: none !important;
}
.pl-matrix {
  min-width: 1720px;
  table-layout: fixed;
  font-size: 11.8px;
}
.pl-matrix th,
.pl-matrix td {
  width: var(--pl-month-col, 132px);
  min-width: var(--pl-month-col, 132px);
  max-width: var(--pl-month-col, 132px);
  padding: 4px 8px;
  vertical-align: middle;
}
.pl-matrix th:first-child,
.pl-matrix td:first-child {
  --sticky-bg: #fff;
  position: sticky;
  left: 0;
  z-index: 60;
  width: var(--pl-account-col, 360px);
  min-width: var(--pl-account-col, 360px);
  max-width: var(--pl-account-col, 360px);
  white-space: normal;
  overflow: visible;
  overflow-wrap: anywhere;
  background: var(--sticky-bg);
  isolation: isolate;
  box-shadow: 28px 0 0 var(--sticky-bg), 36px 0 18px rgba(15, 23, 42, .07), 1px 0 0 var(--line);
}
.pl-matrix th:last-child,
.pl-matrix td:last-child {
  --sticky-bg: #f8fafc;
  position: sticky;
  right: 0;
  z-index: 65;
  width: var(--pl-total-col, 142px);
  min-width: var(--pl-total-col, 142px);
  max-width: var(--pl-total-col, 142px);
  padding-left: 6px;
  padding-right: 8px;
  overflow: visible;
  background: var(--sticky-bg);
  isolation: isolate;
  box-shadow: -18px 0 0 var(--sticky-bg), -24px 0 14px rgba(15, 23, 42, .08), -1px 0 0 var(--line);
}
.pl-matrix th:first-child::before,
.pl-matrix td:first-child::before,
.pl-matrix th:first-child::after,
.pl-matrix td:first-child::after,
.pl-matrix th:last-child::before,
.pl-matrix td:last-child::before,
.pl-matrix th:last-child::after,
.pl-matrix td:last-child::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  pointer-events: none;
  background: inherit;
  z-index: -1;
}
.pl-matrix th:first-child::before,
.pl-matrix td:first-child::before {
  left: -28px;
  width: 28px;
}
.pl-matrix th:first-child::after,
.pl-matrix td:first-child::after {
  right: -28px;
  width: 28px;
}
.pl-matrix th:last-child::before,
.pl-matrix td:last-child::before {
  left: -12px;
  width: 12px;
}
.pl-matrix th:last-child::after,
.pl-matrix td:last-child::after {
  right: -12px;
  width: 12px;
}
.pl-matrix thead th {
  position: sticky;
  top: 0;
  z-index: 120;
  font-size: 10px;
  height: 44px;
  padding-top: 6px;
  padding-bottom: 6px;
  vertical-align: middle;
  border-bottom: 2px solid #d8e0ec;
  background: #fff;
}
.pl-matrix thead th:not(:first-child):not(:last-child) {
  position: sticky;
}
.pl-matrix thead th.forecast-col {
  background: #f7f4ec;
  color: #795b13;
}
.pl-matrix thead th.locked-actual-month {
  background: #f8fafc;
  color: #475569;
}
.pl-matrix thead th:first-child,
.pl-matrix thead th:last-child {
  z-index: 180;
}
.pl-col-resizer {
  position: absolute;
  top: 0;
  right: -4px;
  bottom: 0;
  width: 8px;
  cursor: col-resize;
  z-index: 90;
}
.pl-col-resizer::after {
  content: "";
  position: absolute;
  top: 7px;
  bottom: 7px;
  left: 3px;
  width: 2px;
  border-radius: 999px;
  background: transparent;
}
.pl-col-resizer:hover::after,
body.is-resizing-pl-column .pl-col-resizer::after {
  background: #94a3b8;
}
body.is-resizing-pl-column {
  cursor: col-resize;
  user-select: none;
}
.pl-month-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  justify-items: center;
  gap: 3px;
  min-height: 34px;
  text-align: center;
}
.pl-month-title {
  grid-column: 1;
  justify-self: center;
  width: 100%;
}
.pl-month-head .period-badge {
  justify-self: center;
  min-width: 58px;
}
.pl-month-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  justify-self: center;
  min-width: 54px;
  min-height: 20px;
  padding: 2px 8px;
  font-size: 9.5px;
  line-height: 1.35;
  text-transform: none;
  letter-spacing: 0;
  font-weight: 700;
}
.pl-month-status.actual {
  color: #64748b;
}
.pl-month-status.actual.locked {
  color: #334155;
}
.pl-month-status.forecast {
  color: #795b13;
}
.pl-matrix tr.section-row td,
.pl-matrix tr.section-row td:first-child,
.pl-matrix tr.section-row td:last-child {
  --sticky-bg: #eaf2ff;
  background: #eaf2ff;
  color: #063f8f;
  font-size: 12.2px;
  text-transform: uppercase;
  letter-spacing: .02em;
  border-top: 2px solid #cbdcf8;
  padding-top: 6px;
  padding-bottom: 6px;
}
.pl-matrix tr.pl-basis-section td,
.pl-matrix tr.pl-basis-section td:first-child,
.pl-matrix tr.pl-basis-section td:last-child {
  --sticky-bg: #fff;
  background: #fff;
  color: #0f172a;
  font-size: 13.2px;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: .03em;
  border-top: 3px solid #cbd5e1;
  border-bottom: 1px solid var(--line);
  padding-top: 7px;
  padding-bottom: 5px;
}
.pl-matrix tr.cash-basis-section td:first-child {
  border-left: 4px solid #64748b;
}
.pl-matrix tr.accrual-basis-section td:first-child {
  border-left: 4px solid #1a9d6b;
}
.pl-matrix tr.subtotal td,
.pl-matrix tr.subtotal td:first-child,
.pl-matrix tr.subtotal td:last-child {
  --sticky-bg: #f1f5fa;
  background: #f1f5fa;
  font-size: 12.6px;
  border-top: 2px solid #d7e0eb;
  border-bottom: 1px solid #d7e0eb;
  padding-top: 6px;
  padding-bottom: 6px;
}
.pl-matrix tr.statement-line td:first-child {
  padding-left: 34px;
}
.pl-matrix tr.gp-result-row td,
.pl-matrix tr.gp-result-row td:first-child,
.pl-matrix tr.gp-result-row td:last-child {
  --sticky-bg: #fff;
  background: #fff;
  border-top: 2px solid #334155;
  border-bottom: 2px solid #d7e0eb;
  font-size: 12.6px;
}
.pl-matrix tr.gp-result-row td:first-child {
  padding-left: 34px;
  color: #0f172a;
}
.pl-matrix tr.variance-row td:first-child {
  color: #475569;
  font-size: 11.2px;
}
.pl-matrix tr.basis-row td:first-child {
  padding-left: 32px;
}
.pl-matrix tr.cash-basis-row td:first-child {
  border-left: 4px solid #64748b;
}
.pl-matrix tr.accrual-basis-row td:first-child {
  border-left: 4px solid #1a9d6b;
}
.pl-matrix tr.variance-basis-row td:first-child {
  border-left: 4px solid #7c3aed;
}
.pl-matrix tr.drillrow td:first-child,
.pl-matrix tr.drillrow td:last-child {
  --sticky-bg: #fcfdff;
  background: #fcfdff;
}
.pl-matrix tr.drillrow td {
  height: 25px;
  padding-top: 2px;
  padding-bottom: 2px;
}
.pl-matrix tbody tr:hover td:first-child,
.pl-matrix tbody tr:hover td:last-child {
  --sticky-bg: #f8fafc;
  background: #f8fafc;
}
.pl-matrix tbody tr.section-row:hover td:first-child,
.pl-matrix tbody tr.section-row:hover td:last-child {
  --sticky-bg: #eef4fe;
  background: #eef4fe;
}
.pl-matrix tbody tr.subtotal:hover td:first-child,
.pl-matrix tbody tr.subtotal:hover td:last-child {
  --sticky-bg: #f4f7fb;
  background: #f4f7fb;
}


/* P&L waterfall hierarchy and collapsible rows. */
.pl-collapse-toggle {
  appearance: none;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-weight: 800;
  padding: 0;
  cursor: pointer;
  text-align: left;
}
.pl-collapse-toggle:hover {
  color: var(--brand);
}
.pl-matrix tr.collapsible-parent td:first-child {
  font-weight: 800;
}
.pl-matrix .pl-child-row.level-1 td:first-child {
  padding-left: 60px;
  color: #334155;
}
.pl-matrix .pl-child-row.level-2 td:first-child {
  padding-left: 94px;
  font-size: 11px;
  color: #657386;
}
.pl-matrix .pl-child-row.level-3 td:first-child {
  padding-left: 112px;
  font-size: 11px;
  color: #6f7f94;
}
.pl-matrix .pl-child-row td {
  font-size: 11.2px;
  height: 25px;
  padding-top: 2px;
  padding-bottom: 2px;
}
.pl-matrix .pl-child-row .pl-number-btn {
  line-height: 1.05;
  padding-top: 1px;
  padding-bottom: 1px;
}
.pl-zero-detail {
  color: #94a3b8;
  font-weight: 650;
}
.pl-detail-note-row td {
  background: #f0fbfd;
}
.pl-detail-note-row.review td {
  color: #7c2d12;
}
.pl-detail-note {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  max-width: 980px;
  white-space: normal;
  line-height: 1.35;
  font-weight: 650;
}
.pl-matrix .pl-child-row .pl-account-label {
  gap: 4px;
}
.pl-matrix .pl-account-group-row td,
.pl-matrix .pl-account-group-row td:first-child,
.pl-matrix .pl-account-group-row td:last-child {
  background: #fbfcfe;
  color: #334155;
  font-weight: 650;
}
.pl-matrix .pl-account-group-row td:first-child {
  padding-left: 60px;
}
.pl-matrix .pl-child-row.level-2 td:first-child,
.pl-matrix .pl-child-row.level-3 td:first-child {
  box-shadow: inset 1px 0 0 #d8e2f0, 28px 0 0 var(--sticky-bg), 36px 0 18px rgba(15, 23, 42, .07), 1px 0 0 var(--line);
}
.pl-subgroup-toggle {
  appearance: none;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  padding: 0;
  cursor: pointer;
  text-align: left;
}
.pl-subgroup-toggle:hover {
  color: var(--brand);
}
.pl-account-label {
  display: flex;
  align-items: center;
  gap: 4px;
  justify-content: space-between;
  min-width: 0;
  width: 100%;
  min-height: 19px;
}
.pl-child-row.level-2 .pl-account-label {
  padding-left: 6px;
}
.pl-child-row.level-3 .pl-account-label {
  padding-left: 4px;
}
.pl-account-name {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #24364f;
  font-weight: 650;
}
.pl-subgroup-toggle {
  flex: 1 1 auto;
  min-width: 0;
}
.pl-child-row.level-2 .pl-account-name,
.pl-child-row.level-3 .pl-account-name {
  color: #334155;
  font-weight: 650;
}
.pl-matrix .pl-account-group-row .pl-subgroup-toggle strong {
  font-weight: 650;
}
.pl-matrix tr.pl-account-group-row td {
  box-shadow: inset 0 -1px 0 #d8e2f0;
}
.pl-matrix tr.pl-basis-section td:not(:first-child):not(:last-child),
.pl-matrix tr.subtotal.statement-line td:not(:first-child):not(:last-child),
.pl-matrix tr.pl-account-group-row td:not(:first-child):not(:last-child) {
  background-clip: padding-box;
}
.pl-matrix tbody td:not(:first-child),
.pl-matrix tbody td:not(:first-child) .pl-number-btn,
.pl-matrix tbody td:not(:first-child) .pl-cell-main {
  font-weight: 600;
}
.pl-matrix tbody td:not(:first-child) .pl-cell-help {
  font-weight: 500;
}
.pl-matrix .vendor-detail td {
  height: 27px;
  padding-top: 2px;
  padding-bottom: 2px;
}
.pl-matrix .vendor-detail td:first-child {
  font-size: 11px;
  color: #1f2937;
}
.pl-matrix .vendor-detail .vendor-name {
  font-weight: 650;
}
.pl-matrix .vendor-detail .pl-forecast-input-wrap {
  flex-direction: row;
  align-items: center;
  justify-content: flex-end;
  gap: 4px;
}
.pl-matrix .vendor-detail .pl-forecast-input {
  width: 58px;
  min-height: 22px;
  padding: 2px 7px;
  font-size: 11px;
}
.pl-matrix .vendor-detail .pl-source-pill {
  margin: 0;
  padding: 0 4px;
  font-size: 8.5px;
  line-height: 13px;
}
.pl-cell-main {
  font-weight: inherit;
}
.pl-number-btn {
  appearance: none;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  font-weight: inherit;
  padding: 2px 3px;
  margin: -2px -3px;
  border-radius: 4px;
  cursor: pointer;
  text-align: right;
  width: 100%;
  line-height: 1.2;
}
.pl-number-btn:hover {
  background: #eef4fe;
  color: var(--brand-dark);
  text-decoration: underline;
}
.pl-number-btn.has-note {
  font-weight: 750;
}
.pl-note-icon {
  display: inline-grid;
  place-items: center;
  width: 13px;
  height: 13px;
  margin-left: 4px;
  border-radius: 3px;
  border: 1px solid #94a3b8;
  color: #475569;
  background: #fff;
  font-size: 0;
  vertical-align: text-top;
}
.pl-note-icon::before {
  content: "";
  width: 5px;
  height: 7px;
  border-top: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
}
.pl-vendor-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 4px;
  padding: 7px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fafc;
  box-shadow: var(--shadow);
}
.pl-vendor-toolbar div {
  display: flex;
  align-items: baseline;
  gap: 6px;
  flex-wrap: wrap;
}
.pl-vendor-toolbar strong {
  color: var(--ink);
  font-size: 12px;
}
.pl-vendor-toolbar span {
  color: var(--muted);
  font-size: 11.2px;
}
.pl-vendor-toolbar .btn {
  flex: 0 0 auto;
}
.pl-forecast-mode {
  margin-left: auto;
  width: 68px;
  max-width: 68px;
  flex: 0 0 68px;
  min-height: 18px;
  height: 18px;
  padding: 0 18px 0 4px;
  border: 1px solid transparent;
  border-radius: 4px;
  background: transparent;
  color: #64748b;
  font-size: 9.6px;
  font-weight: 650;
  line-height: 18px;
  text-align: right;
  text-align-last: right;
  vertical-align: middle;
  opacity: .78;
}
.pl-group-forecast-mode {
  width: 72px;
  max-width: 72px;
  flex-basis: 72px;
}
.pl-forecast-mode:hover {
  border-color: #dbe4ef;
  background: #fff;
  color: #334155;
  opacity: 1;
}
.pl-forecast-mode:focus {
  outline: none;
  border-color: var(--brand);
  background: #fff;
  color: #334155;
  opacity: 1;
  box-shadow: 0 0 0 3px rgba(31, 111, 235, .12);
}
.vendor-forecast-label .vendor-name {
  color: var(--ink);
  font-weight: 700;
}
.vendor-forecast-label .vendor-count {
  margin-left: 4px;
  color: var(--muted);
  font-size: 11px;
}
.pl-forecast-edit {
  border: 1px solid rgba(31, 111, 235, .22);
  background: rgba(255, 248, 230, .9);
}
.pl-forecast-edit:hover {
  border-color: var(--brand);
  box-shadow: inset 0 0 0 1px var(--brand);
  text-decoration: none;
}
.decision-strip,
.change-path {
  display: grid;
  gap: 7px;
  margin: 8px 0 12px;
}
.decision-strip {
  grid-template-columns: repeat(3, minmax(130px, 1fr));
}
.decision-action,
.change-path label {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 8px 9px;
  border: 1px solid #dfe7f2;
  border-radius: 7px;
  background: #f8fafc;
  color: inherit;
  text-align: left;
}
.decision-action {
  cursor: pointer;
}
.decision-action:hover {
  border-color: var(--brand);
  background: #eef4fe;
}
.decision-action strong,
.change-path strong {
  color: var(--ink);
  font-size: 12px;
}
.decision-action span,
.change-path span {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.3;
}
.change-path label {
  grid-template-columns: auto 1fr;
  align-items: start;
  cursor: pointer;
}
.change-path input {
  grid-row: span 2;
  margin-top: 2px;
}
.product-driver-modal {
  width: min(760px, 94vw);
  padding: 24px;
}
.product-driver-modal h3 {
  margin-bottom: 10px;
}
.product-driver-modal-body {
  display: grid;
  gap: 14px;
}
.product-driver-intro {
  color: var(--muted);
  font-size: 12.5px;
  line-height: 1.5;
  max-width: 620px;
}
.product-driver-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(150px, 1fr));
  gap: 10px;
}
.driver-summary-card {
  min-width: 0;
  padding: 11px 12px;
  border: 1px solid #dfe7f2;
  border-radius: 8px;
  background: #f8fafc;
}
.driver-summary-card span {
  display: block;
  margin-bottom: 5px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 750;
  text-transform: uppercase;
  letter-spacing: .02em;
}
.driver-summary-card strong {
  color: var(--ink);
  font-size: 18px;
  line-height: 1.1;
}
.driver-section {
  min-width: 0;
}
.driver-section-title {
  margin-bottom: 7px;
  color: var(--ink);
  font-size: 12px;
  font-weight: 800;
}
.product-change-path {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
}
.product-change-path label {
  min-height: 62px;
  padding: 10px;
}
.product-change-path label:has(input:checked) {
  border-color: var(--brand);
  background: #eef4fe;
  box-shadow: inset 0 0 0 1px rgba(31, 111, 235, .12);
}
.product-driver-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 14px;
}
.product-driver-grid .field,
.driver-note-section .field {
  margin-bottom: 0;
}
.product-driver-modal .field label {
  color: #64748b;
  font-size: 11.5px;
  font-weight: 750;
}
.product-driver-modal input,
.product-driver-modal textarea {
  width: 100%;
  border-color: #d8e2ef;
  background: #fff;
  box-sizing: border-box;
}
.product-driver-modal input[type="number"] {
  font-weight: 700;
  text-align: right;
}
.product-driver-modal input:focus,
.product-driver-modal textarea:focus {
  outline: none;
  border-color: var(--brand);
  box-shadow: 0 0 0 3px rgba(31, 111, 235, .12);
}
.product-driver-modal textarea {
  min-height: 92px;
  resize: vertical;
  line-height: 1.45;
}
.driver-note-section {
  padding-top: 2px;
}
.driver-note-section .help {
  margin-top: 8px;
}
.existing-note-title {
  margin-top: 10px;
}
.pf-existing-notes {
  display: grid;
  gap: 8px;
}
.pf-existing-notes.empty-notes {
  padding: 10px 12px;
  border: 1px dashed #d8e2ef;
  border-radius: 8px;
  color: var(--muted);
  font-size: 12px;
  background: #f8fafc;
}
.pf-note-card {
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid #dfe7f2;
  border-radius: 8px;
  background: #fbfcfe;
}
.pf-note-meta {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
}
.pf-note-meta strong {
  color: var(--ink);
  font-size: 12px;
}
.pf-note-meta span {
  color: var(--muted);
  font-size: 11px;
  white-space: nowrap;
}
.pf-note-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}
.btn.danger {
  border-color: #f1c4c0;
  color: var(--red);
}
.btn.danger:hover {
  background: var(--red-bg);
}
@media (max-width: 720px) {
  .decision-strip {
    grid-template-columns: 1fr;
  }
  .product-driver-summary,
  .product-change-path,
  .product-driver-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 900px) {
  .breakdown-hero {
    flex-direction: column;
  }
  .breakdown-score-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.pl-forecast-input-wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
}
.pl-forecast-input {
  width: 76px;
  max-width: 100%;
  min-height: 26px;
  border: 1px solid rgba(31, 111, 235, .24);
  border-radius: 5px;
  background: #fffdf5;
  color: var(--ink);
  font: inherit;
  font-weight: 700;
  text-align: right;
  padding: 4px 10px 4px 8px;
}
.pl-forecast-input:focus {
  outline: none;
  border-color: var(--brand);
  box-shadow: 0 0 0 2px rgba(31, 111, 235, .12);
}
.pl-forecast-input:disabled {
  background: #eef2f7;
  color: var(--muted);
  border-color: var(--line);
  cursor: not-allowed;
}
.pl-lock-month-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  justify-self: center;
  margin: 0;
  min-width: 54px;
  min-height: 20px;
  padding: 2px 8px;
  border: 1px solid #d8e2f0;
  border-radius: 999px;
  background: #fff;
  color: var(--muted);
  font-size: 9.5px;
  font-weight: 700;
  line-height: 1.4;
  cursor: pointer;
  white-space: nowrap;
}
.pl-lock-month-btn:hover {
  border-color: var(--brand);
  color: var(--brand-dark);
}
.pl-lock-month-btn.locked {
  border-color: #bee8d4;
  background: #e8f6ef;
  color: var(--green);
}
.cash-lock-week-btn,
.cash-week-lock-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 4px;
  min-width: 50px;
  min-height: 20px;
  padding: 2px 8px;
  border: 1px solid #d8e2f0;
  border-radius: 999px;
  background: #fff;
  color: var(--muted);
  font-size: 9.5px;
  font-weight: 800;
  line-height: 1.4;
  white-space: nowrap;
}
.cash-lock-week-btn {
  cursor: pointer;
}
.cash-lock-week-btn:hover {
  border-color: var(--brand);
  color: var(--brand-dark);
}
.cash-lock-week-btn.locked,
.cash-week-lock-chip.locked {
  border-color: #bee8d4;
  background: #e8f6ef;
  color: var(--green);
}
.cash-period-summary {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 1px 3px rgba(15, 23, 42, .04);
}
.cash-period-item {
  display: grid;
  grid-template-columns: auto auto;
  align-items: baseline;
  gap: 3px 8px;
  min-width: 210px;
  padding-right: 12px;
  border-right: 1px solid #e2e8f0;
}
.cash-period-item span {
  grid-column: 1 / -1;
  color: #64748b;
  font-size: 10px;
  font-weight: 850;
  line-height: 1.1;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.cash-period-item strong {
  color: #0f172a;
  font-size: 14px;
  font-weight: 850;
  line-height: 1.1;
}
.cash-period-item em {
  color: #475569;
  font-style: normal;
  font-size: 11px;
  font-weight: 700;
}
.cash-period-item.forecast strong {
  color: #075985;
}
.cash-period-note {
  margin-left: auto;
  color: #64748b;
  font-size: 11.5px;
  font-weight: 650;
}
.cash-period-status {
  display: block;
  color: var(--muted);
  font-size: 10px;
  font-weight: 850;
  line-height: 1.2;
  text-transform: uppercase;
}
.cash-week-head {
  display: grid;
  justify-items: center;
  gap: 3px;
  min-width: 86px;
  line-height: 1.15;
}

.cash-week-head > span:first-child {
  color: #334155;
  font-size: 11px;
  font-weight: 850;
  white-space: nowrap;
}

.cash-week-head .period-badge {
  min-width: 58px;
}
.cash-format-panel {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 8px;
  padding: 8px 10px;
}
.cash-format-panel label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 750;
  color: var(--muted);
}
.cash-format-panel input[type="number"] {
  width: 74px;
  height: 26px;
}
.cash-format-panel .cf-color-select {
  height: 26px;
}
.cash-format-menu {
  position: relative;
}
.cash-format-menu summary {
  list-style: none;
}
.cash-format-menu summary::-webkit-details-marker {
  display: none;
}
.cash-format-menu summary::after {
  content: " v";
  color: var(--muted);
  font-size: 10px;
}
.cash-format-menu[open] summary {
  border-color: #1e1e1e;
  background: #1e1e1e;
  color: var(--manaforge-highlight);
}
.cash-format-menu-panel {
  position: absolute;
  top: calc(100% + 7px);
  right: 0;
  z-index: 650;
  width: min(560px, calc(100vw - 28px));
  padding: 10px;
  border: 1px solid #dfe5dc;
  border-radius: 8px;
  background: var(--panel);
  box-shadow: 0 18px 44px rgba(30, 30, 30, .18);
}
.cash-format-menu-panel.cash-format-panel {
  margin-bottom: 0;
}
.cash-format-menu-panel .pl-signal-legend {
  width: 100%;
}
.combined-cash-matrix td.cash-cf-forecast {
  background: color-mix(in srgb, var(--forecast-bg) 78%, var(--sticky-bg, var(--panel))) !important;
}
.combined-cash-matrix td.cash-cf-neg {
  --sticky-bg: var(--cf-alert-bg, #fff5f5);
  background: var(--cf-alert-bg, #fff5f5) !important;
}
.combined-cash-matrix td.cash-cf-week-variance,
.combined-cash-matrix td.cash-cf-forecast-variance {
  box-shadow: inset 0 -3px 0 var(--cf-alert-color, #7c3aed);
}
.combined-cash-matrix td.cash-cf-forecast-variance {
  background: var(--cf-alert-bg, #f0fbfd) !important;
}
.combined-cash-matrix .locked-week input:disabled {
  background: #eef2f7;
  color: var(--muted);
  border-color: var(--line);
  cursor: not-allowed;
}
.pl-source-pill {
  display: block;
  width: max-content;
  margin: 2px 0 0 auto;
  padding: 1px 5px;
  border-radius: 999px;
  background: #eef0f4;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.25;
  font-weight: 700;
  text-decoration: none;
}
.pl-source-pill.manual {
  background: #e8f6ef;
  color: var(--green);
}
.mini-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 8px 10px;
  background: #f8fafc;
}
.mini-card span {
  display: block;
  margin-bottom: 4px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .02em;
}
.mini-card strong {
  display: block;
  color: var(--ink);
  font-size: 14px;
  font-weight: 800;
}
.pl-cell-help {
  margin-top: 1px;
  color: var(--muted);
  font-size: 9px;
  line-height: 1.1;
  font-weight: 600;
}
.pl-matrix tr.subtotal .pl-cell-help {
  font-weight: 600;
}
.pl-matrix tr.collapsed td:first-child {
  color: var(--brand-dark);
}
.pl-matrix td.cf-forecast {
  --sticky-bg: #f5f1e8;
  background: #f5f1e8;
}
.pl-matrix td.cf-neg {
  color: var(--red);
}
.pl-matrix td.cf-margin-warn {
  --sticky-bg: var(--cf-alert-bg, #fff5f5);
  background: var(--cf-alert-bg, #fff5f5);
}
.pl-matrix td.cf-variance {
  color: inherit;
}
.pl-matrix td.cf-revenue-variance {
  --sticky-bg: var(--cf-alert-bg, #fff5f5);
  color: var(--cf-alert-color, var(--red));
  background: var(--cf-alert-bg, #fff5f5);
}
.pl-matrix td.cf-margin-warn,
.pl-matrix td.cf-revenue-variance {
  box-shadow: inset 0 -2px 0 var(--cf-alert-color, #d1453b);
}
.pl-matrix td.cf-variance {
  box-shadow: inset 0 -2px 0 var(--cf-alert-color, #7c3aed);
}
.pl-matrix td.neg,
.pl-matrix td.cf-neg,
.pl-matrix td.neg .pl-number-btn,
.pl-matrix td.cf-neg .pl-number-btn,
.pl-matrix td.neg .pl-cell-main,
.pl-matrix td.cf-neg .pl-cell-main {
  color: var(--red);
}
.pl-matrix td.cf-margin-warn:first-child,
.pl-matrix td.cf-revenue-variance:first-child {
  box-shadow: 28px 0 0 var(--sticky-bg), 36px 0 18px rgba(15, 23, 42, .07), 1px 0 0 var(--line), inset 0 -2px 0 var(--cf-alert-color, #d1453b);
}
.pl-matrix td.cf-variance:first-child {
  box-shadow: 28px 0 0 var(--sticky-bg), 36px 0 18px rgba(15, 23, 42, .07), 1px 0 0 var(--line), inset 0 -2px 0 var(--cf-alert-color, #7c3aed);
}
.pl-matrix td.cf-margin-warn:last-child,
.pl-matrix td.cf-revenue-variance:last-child {
  box-shadow: -46px 0 0 var(--sticky-bg), -56px 0 18px rgba(15, 23, 42, .08), -1px 0 0 var(--line), inset 0 -2px 0 var(--cf-alert-color, #d1453b);
}
.pl-matrix td.cf-variance:last-child {
  box-shadow: -46px 0 0 var(--sticky-bg), -56px 0 18px rgba(15, 23, 42, .08), -1px 0 0 var(--line), inset 0 -2px 0 var(--cf-alert-color, #7c3aed);
}
.pl-format-panel {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 10px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
  padding: 6px 10px;
  font-size: 11.2px;
}
.pl-format-panel strong {
  color: var(--ink);
}
.pl-format-panel span {
  color: var(--muted);
  margin-left: 4px;
}
.pl-format-panel label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #334155;
  white-space: nowrap;
}
.pl-format-panel input[type="number"] {
  width: 66px;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 4px 6px;
  font-size: 11.2px;
}
.pl-format-panel .pl-cf-rule {
  gap: 7px;
}
.cf-color-dot {
  width: 15px;
  height: 12px;
  border: 1px solid rgba(15, 23, 42, .18);
  border-radius: 4px;
  flex: 0 0 auto;
}
.cf-color-select {
  min-height: 26px;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 4px 24px 4px 7px;
  background: #fff;
  color: #334155;
  font-size: 11.2px;
  font-weight: 650;
}
.pl-signal-legend {
  flex: 1 0 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 6px 10px;
  padding-top: 4px;
  border-top: 1px solid var(--line);
}
.pl-signal-legend .legend-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #475569;
  font-size: 10.8px;
}
.pl-signal-legend strong {
  color: #1f2937;
  margin-right: 1px;
}
.sig {
  width: 18px;
  height: 14px;
  display: inline-block;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: #fff;
  flex: 0 0 auto;
}
.sig-red { background: #d1453b; }
.sig-purple { background: #7c3aed; }
.sig-orange { background: #14b8c6; }
.sig-teal { background: #0f766e; }
.sig-forecast {
  background: #f5f1e8;
}

/* Responsive shell and light/dark design tokens. */
:root {
  --app-font: "Aptos", "Segoe UI Variable", "Segoe UI", -apple-system, BlinkMacSystemFont, sans-serif;
  color-scheme: light;
  --bg: #1e1e1e;
  --panel: #ffffff;
  --panel-2: #f6fafb;
  --app-bg: #f4f8fa;
  --ink: #1e1e1e;
  --muted: #616462;
  --line: #d8e2e6;
  --border: var(--line);
  --brand: #0f8fb5;
  --brand-dark: #075985;
  --brand-soft: #e6f8fb;
  --manaforge-highlight: #22d3ee;
  --manaforge-aqua: #99f6e4;
  --green: #15885d;
  --green-bg: #e7f7ef;
  --amber: #0ea5e9;
  --amber-bg: #e0f7ff;
  --red: #c83a32;
  --red-bg: #fdebea;
  --forecast-bg: #e9f8ff;
  --actual-bg: #ffffff;
  --header-bg: #ffffff;
  --hover-bg: #f1fbfd;
  --shadow: 0 1px 2px rgba(15, 23, 42, .06), 0 10px 26px rgba(15, 23, 42, .07);
  --focus-ring: 0 0 0 3px rgba(14, 165, 233, .22);
}

html[data-theme="dark"] {
  color-scheme: dark;
  --bg: #0a1220;
  --panel: #101928;
  --panel-2: #162234;
  --app-bg: #0b111c;
  --ink: #edf3fb;
  --muted: #9aa8bb;
  --line: #263448;
  --border: var(--line);
  --brand: #38bdf8;
  --brand-dark: #7dd3fc;
  --brand-soft: #092f40;
  --green: #6ee7a8;
  --green-bg: #103423;
  --amber: #22d3ee;
  --amber-bg: #073544;
  --red: #ff8a82;
  --red-bg: #3a1717;
  --forecast-bg: #082f49;
  --actual-bg: #101928;
  --header-bg: #111c2b;
  --hover-bg: #172235;
  --shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 14px 34px rgba(0, 0, 0, .28);
  --focus-ring: 0 0 0 3px rgba(34, 211, 238, .26);
}

html,
body {
  overflow-x: hidden;
}

body {
  background: var(--app-bg);
  color: var(--ink);
  line-height: 1.35;
}

button,
input,
select,
textarea {
  color: inherit;
  font: inherit;
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: none;
  box-shadow: var(--focus-ring);
}

.content {
  background: var(--app-bg);
  min-height: 100vh;
  overflow-x: hidden;
}

.sidebar {
  background: var(--bg);
  border-right: 1px solid rgba(255, 255, 255, .08);
}

.brand {
  min-height: 82px;
}

.nav-item {
  border: 1px solid transparent;
}

.nav-item:hover {
  border-color: rgba(255, 255, 255, .08);
}

.topbar {
  gap: 16px;
  background: color-mix(in srgb, var(--panel) 94%, transparent);
  backdrop-filter: blur(12px);
}

.topbar-title {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 10px;
}

.topbar h1 {
  min-width: 0;
  overflow-wrap: anywhere;
  line-height: 1.2;
}

.topbar-actions,
.page-actions {
  min-width: 0;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.icon-btn {
  border: 1px solid var(--line);
  background: var(--panel);
  color: var(--ink);
  border-radius: 8px;
  min-height: 36px;
  padding: 7px 11px;
  font: inherit;
  font-weight: 750;
  cursor: pointer;
}

.mobile-nav-btn {
  display: none;
}

.mobile-scrim {
  position: fixed;
  inset: 0;
  z-index: 39;
  background: rgba(5, 10, 20, .48);
}

.btn,
.pill,
.badge,
.inline-tag,
input,
select,
textarea {
  transition: background-color .14s ease, border-color .14s ease, color .14s ease, box-shadow .14s ease, transform .14s ease;
}

.btn {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  white-space: nowrap;
}

.btn:hover {
  transform: translateY(-1px);
}

.btn.ghost,
.btn.danger,
.pl-view-toggle,
.pl-format-panel,
.acc-head,
.modal,
.card,
.panel,
.cash-readout,
.cash-toolbar,
.mini-card,
.note-box,
.dropzone,
.exception-item {
  background-color: var(--panel);
  border-color: var(--line);
  color: var(--ink);
}

.btn.ghost:hover,
.acc-head:hover,
tbody tr:hover,
.drill-tx-row:hover td,
.exception-item:hover,
.cash-number-btn:hover,
.cash-actual-detail-btn:hover,
.pl-number-btn:hover,
.pl-view-btn:hover {
  background-color: var(--hover-bg);
}

.card,
.panel,
.acc-item,
.modal,
.pl-table-scroll,
.cash-forecast-panel {
  box-shadow: var(--shadow);
}

.panel,
.acc-item {
  background: var(--panel);
  border-color: var(--line);
}

table {
  color: var(--ink);
}

th,
td {
  border-color: var(--line);
}

thead th,
.pl-matrix thead th,
.cash-matrix thead th {
  background: var(--header-bg);
  color: var(--muted);
}

tr.subtotal td,
.cash-total-row td,
.combined-cash-matrix tr.subtotal td {
  background: var(--panel-2);
}

tr.section-row td,
.coa-map-table .coa-section td,
.pl-matrix tr.section-row td,
.pl-matrix tr.section-row td:first-child,
.pl-matrix tr.section-row td:last-child,
.cash-section-row td,
.combined-cash-matrix tr.cash-section-row td:first-child,
.combined-cash-matrix tr.cash-section-row td:last-child {
  background: var(--brand-soft);
  color: var(--brand-dark);
}

.pl-matrix td.cf-forecast,
.pl-matrix thead th.forecast-col,
#sales-grid .forecast-month,
.combined-cash-matrix th.forecast-week,
.combined-cash-matrix td.forecast-week {
  background: var(--forecast-bg);
}

.combined-cash-matrix th.actual-week,
.combined-cash-matrix td.actual-week {
  background: var(--actual-bg);
}

.pl-table-scroll,
.cash-forecast-panel,
.sales-grid-scroll,
.table-scroll,
.cc-table-scroll,
.drill-table-wrap,
.modal-table-scroll {
  scrollbar-width: thin;
  scrollbar-color: #94a3b8 transparent;
  overscroll-behavior-x: contain;
}

.pl-table-scroll::-webkit-scrollbar,
.cash-forecast-panel::-webkit-scrollbar,
.sales-grid-scroll::-webkit-scrollbar,
.table-scroll::-webkit-scrollbar,
.cc-table-scroll::-webkit-scrollbar,
.drill-table-wrap::-webkit-scrollbar,
.modal-table-scroll::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}

.pl-table-scroll::-webkit-scrollbar-thumb,
.cash-forecast-panel::-webkit-scrollbar-thumb,
.sales-grid-scroll::-webkit-scrollbar-thumb,
.table-scroll::-webkit-scrollbar-thumb,
.cc-table-scroll::-webkit-scrollbar-thumb,
.drill-table-wrap::-webkit-scrollbar-thumb,
.modal-table-scroll::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: #94a3b8;
  border: 2px solid transparent;
  background-clip: padding-box;
}

.field input,
.field select,
.field textarea,
.pl-format-panel input[type="number"],
.cf-color-select,
.cash-override-input,
.pl-forecast-input,
.customer-terms-table input,
.customer-terms-table select,
.actual-cash-tag {
  background: var(--panel);
  border-color: var(--line);
  color: var(--ink);
}

.field input:focus,
.field select:focus,
.field textarea:focus,
.cash-override-input:focus,
.pl-forecast-input:focus {
  border-color: var(--brand);
  box-shadow: var(--focus-ring);
}

.modal-overlay {
  padding: 16px;
  background: rgba(5, 10, 20, .58);
}

.modal {
  width: min(540px, calc(100vw - 24px));
  max-height: min(88vh, 900px);
}

.cash-matrix th:last-child,
.cash-matrix td:last-child {
  pointer-events: none;
}

.drill-modal,
.product-driver-modal {
  width: min(1120px, calc(100vw - 24px));
}

.modal-actions {
  flex-wrap: wrap;
  position: sticky;
  bottom: -24px;
  margin: 18px -24px -24px;
  padding: 12px 24px 18px;
  background: color-mix(in srgb, var(--panel) 96%, transparent);
  border-top: 1px solid var(--line);
}

.modal-actions .btn {
  min-width: 96px;
}

.section-head,
.compact-workbench-head,
.cash-toolbar,
.pl-vendor-toolbar {
  flex-wrap: wrap;
  gap: 10px;
}

.section-head h2,
.compact-workbench-head h2 {
  overflow-wrap: anywhere;
}

#view {
  width: 100%;
  min-width: 0;
  overflow-x: hidden;
}

.dashboard-now-grid,
.cash-readout,
.import-compact-grid,
.qb-refresh-grid,
.product-inline-editor,
.product-driver-summary,
.product-change-path,
.product-driver-grid,
.dashboard-metric-modal,
.readout-grid {
  min-width: 0;
}

.table-scroll,
.sales-grid-scroll,
.cash-forecast-panel,
.pl-table-scroll {
  max-width: 100%;
  border-radius: 8px;
  overflow-x: auto;
  overflow-y: hidden;
  contain: inline-size;
}

.cash-forecast-panel,
.pl-table-scroll {
  overflow-y: auto;
}

.cash-forecast-panel {
  overflow: auto;
  max-height: clamp(520px, calc(100vh - 190px), 760px);
}

.sales-grid-scroll {
  overflow: auto;
  max-height: min(68vh, 760px);
}

.pl-page {
  height: calc(100dvh - 82px);
}

html[data-theme="dark"] .sidebar-foot {
  border-color: #22324a;
}

html[data-theme="dark"] .brand-mark {
  color: #06101f;
}

html[data-theme="dark"] .metric-icon,
html[data-theme="dark"] .inline-tag,
html[data-theme="dark"] .pl-source-pill,
html[data-theme="dark"] .badge.low {
  background: var(--panel-2);
  color: var(--brand-dark);
}

html[data-theme="dark"] .cash-confidence-card {
  background: var(--panel);
  border-color: var(--line);
}

html[data-theme="dark"] .cash-confidence-pill.confirmed,
html[data-theme="dark"] .cash-confidence-card.confirmed .cash-confidence-pill,
html[data-theme="dark"] .cash-confidence-pill.user-override,
html[data-theme="dark"] .cash-confidence-card.user-override .cash-confidence-pill {
  background: var(--panel-2);
  border-color: var(--line);
  color: var(--brand-dark);
}

html[data-theme="dark"] .pl-scroll-rail {
  background: var(--panel-2);
}

html[data-theme="dark"] .pl-view-btn,
html[data-theme="dark"] .pl-format-panel label,
html[data-theme="dark"] .inline-check,
html[data-theme="dark"] .cf-color-select,
html[data-theme="dark"] .pl-signal-legend .legend-item {
  color: var(--ink);
}

html[data-theme="dark"] .pl-matrix th:first-child,
html[data-theme="dark"] .pl-matrix td:first-child,
html[data-theme="dark"] .cash-matrix th:first-child,
html[data-theme="dark"] .cash-matrix td:first-child,
html[data-theme="dark"] .cash-inline-detail-row td,
html[data-theme="dark"] .pl-matrix th:last-child,
html[data-theme="dark"] .pl-matrix td:last-child,
html[data-theme="dark"] .cash-matrix th:last-child,
html[data-theme="dark"] .cash-matrix td:last-child {
  --sticky-bg: var(--panel);
  --cash-sticky-bg: var(--panel);
  background: var(--panel);
}

html[data-theme="dark"] .cash-total-row td,
html[data-theme="dark"] .cash-total-row td:first-child,
html[data-theme="dark"] .cash-total-row td:last-child,
html[data-theme="dark"] .pl-matrix tr.subtotal td,
html[data-theme="dark"] .pl-matrix tr.subtotal td:first-child,
html[data-theme="dark"] .pl-matrix tr.subtotal td:last-child {
  --sticky-bg: var(--panel-2);
  --cash-sticky-bg: var(--panel-2);
  background: var(--panel-2);
}

html[data-theme="dark"] .cash-section-row td,
html[data-theme="dark"] .cash-section-row td:first-child,
html[data-theme="dark"] .cash-section-row td:last-child,
html[data-theme="dark"] .pl-matrix tr.section-row td,
html[data-theme="dark"] .pl-matrix tr.section-row td:first-child,
html[data-theme="dark"] .pl-matrix tr.section-row td:last-child {
  --sticky-bg: var(--brand-soft);
  --cash-sticky-bg: var(--brand-soft);
}

html[data-theme="dark"] .dashboard-toolbar,
html[data-theme="dark"] .dashboard-hero-kpi,
html[data-theme="dark"] .now-hero,
html[data-theme="dark"] .now-panel,
html[data-theme="dark"] .now-metric,
html[data-theme="dark"] .now-hero-context span,
html[data-theme="dark"] .readout-item,
html[data-theme="dark"] .dashboard-product-card,
html[data-theme="dark"] .product-intel-wide,
html[data-theme="dark"] .product-intel-block {
  background: var(--panel);
  border-color: var(--line);
  color: var(--ink);
}

html[data-theme="dark"] .dashboard-hero-kpi:hover,
html[data-theme="dark"] .dashboard-hero-kpi:focus-visible,
html[data-theme="dark"] .now-hero:hover,
html[data-theme="dark"] .now-metric:hover,
html[data-theme="dark"] .readout-item:hover {
  background: var(--hover-bg);
  border-color: var(--brand);
}

html[data-theme="dark"] .dashboard-hero-kpi > span,
html[data-theme="dark"] .dashboard-hero-kpi > b,
html[data-theme="dark"] .dashboard-hero-kpi > b small,
html[data-theme="dark"] .dashboard-hero-kpi > em,
html[data-theme="dark"] .now-panel-note,
html[data-theme="dark"] .readout-item em,
html[data-theme="dark"] .story-sentence {
  color: var(--muted);
}

html[data-theme="dark"] .dashboard-hero-kpi > span i,
html[data-theme="dark"] .now-eyebrow i,
html[data-theme="dark"] .now-metric-label i,
html[data-theme="dark"] .metric-icon {
  background: var(--panel-2);
  color: var(--brand-dark);
}

html[data-theme="dark"] .dashboard-hero-kpi.pos > strong,
html[data-theme="dark"] .now-metric.pos strong,
html[data-theme="dark"] .now-hero strong,
html[data-theme="dark"] .metric-value.pos {
  color: #34d399;
}

html[data-theme="dark"] .dashboard-hero-kpi.neg > strong,
html[data-theme="dark"] .now-metric.neg strong,
html[data-theme="dark"] .now-metric.risk-focus.neg strong,
html[data-theme="dark"] .metric-value.neg {
  color: #f87171;
}

html[data-theme="dark"] .now-hero-foot {
  background: rgba(52, 211, 153, .13);
  color: #34d399;
}

html[data-theme="dark"] .now-hero-foot.neg,
html[data-theme="dark"] .now-risk-panel .now-metric.risk-focus {
  background: rgba(248, 113, 113, .12);
}

html[data-theme="dark"] .now-metric.inventory-metric,
html[data-theme="dark"] .product-intel-table tbody tr:hover td,
html[data-theme="dark"] .product-intel-table tbody tr:hover td:first-child {
  background: var(--hover-bg);
}

html[data-theme="dark"] .now-trend {
  background: var(--panel-2);
  color: var(--muted);
}

html[data-theme="dark"] .now-trend.up {
  background: rgba(52, 211, 153, .13);
  color: #34d399;
}

html[data-theme="dark"] .now-trend.down {
  background: rgba(248, 113, 113, .13);
  color: #f87171;
}

html[data-theme="dark"] .trend-icon {
  background: rgba(255, 255, 255, .12);
}

html[data-theme="dark"] .dashboard-product-table th,
html[data-theme="dark"] .dashboard-product-table td,
html[data-theme="dark"] .product-intel-table th,
html[data-theme="dark"] .product-intel-table td {
  background: transparent;
  border-color: var(--line);
  color: var(--ink);
}

html[data-theme="dark"] .product-intel-table th:first-child,
html[data-theme="dark"] .product-intel-table td:first-child {
  background: var(--panel);
}

html[data-theme="dark"] .dashboard-product-table a,
html[data-theme="dark"] .product-intel-table a,
html[data-theme="dark"] .dashboard-product-link,
html[data-theme="dark"] .link-button {
  color: #93c5fd;
}

@media (max-width: 1366px) {
  .sidebar {
    width: 196px;
    padding: 18px 14px;
  }
  .brand {
    gap: 10px;
  }
  .brand-mark {
    width: 46px;
    height: 46px;
    font-size: 18px;
  }
  .brand-text strong {
    font-size: 18px;
  }
  .nav-item {
    padding: 13px 16px;
    font-size: 16px;
  }
  .sidebar-foot {
    margin-inline: -14px;
    padding-inline: 14px;
  }
  .topbar {
    padding: 14px 22px;
  }
  #view {
    padding: 18px 22px 46px;
  }
  #view:has(.pl-page) {
    padding: 12px 16px 18px;
  }
  #view:has(.cash-page) {
    padding: 10px 14px 18px;
  }
  .cash-page-section.cash-forecast-panel {
    border-radius: 8px;
  }
  .combined-cash-matrix {
    min-width: 1410px;
    font-size: 10.8px;
  }
  .combined-cash-matrix th,
  .combined-cash-matrix td {
    padding: 3px 5px;
    min-width: 104px;
  }
  .cash-matrix th:first-child,
  .cash-matrix td:first-child {
    width: 306px;
    min-width: 306px;
    max-width: 306px;
  }
  .cash-matrix th:last-child,
  .cash-matrix td:last-child {
    width: 118px;
    min-width: 118px;
    max-width: 118px;
  }
  .cash-child-row.level-1 td:first-child {
    padding-left: 28px;
  }
  .cash-row-label {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 6px;
  }
  .cash-line-toggle {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .cash-forecast-mode {
    width: 82px;
    min-height: 26px;
    padding: 3px 22px 3px 8px;
    font-size: 10.5px;
  }
  .cash-number-btn {
    min-height: 20px;
    padding: 1px 2px;
  }
  .cash-section-row td,
  .cash-total-row td,
  .cash-result-row td {
    font-size: 11.4px;
  }
  .cash-matrix th:last-child::after,
  .cash-matrix td:last-child::after {
    right: -18px;
    width: 18px;
  }
  .dashboard-now-grid {
    grid-template-columns: minmax(290px, .9fr) minmax(0, 1.35fr);
    grid-template-areas:
      "cash profit"
      "risk risk";
  }
  .dashboard-hero-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .cash-readout {
    grid-template-columns: 1fr;
  }
  .cash-confidence-grid {
    grid-template-columns: repeat(3, minmax(130px, 1fr));
  }
  .cash-risk-brief {
    grid-template-columns: repeat(3, minmax(120px, 1fr));
  }
}

@media (max-width: 1024px) {
  #app {
    display: block;
  }
  .mobile-nav-btn {
    display: inline-flex;
  }
  .sidebar {
    position: fixed;
    z-index: 40;
    top: 0;
    left: 0;
    height: 100dvh;
    width: min(300px, 86vw);
    transform: translateX(-105%);
    transition: transform .18s ease;
    box-shadow: 18px 0 46px rgba(0, 0, 0, .22);
  }
  body.nav-open .sidebar {
    transform: translateX(0);
  }
  .content {
    min-height: 100dvh;
  }
  .topbar {
    top: 0;
    align-items: flex-start;
  }
  .topbar-actions {
    gap: 8px;
  }
  .page-title-sub {
    display: block;
    margin: 3px 0 0;
  }
  .import-compact-grid,
  .grid-2,
  .grid-3,
  .dashboard-bridge-grid,
  .product-intel-panel,
  .product-timing-flow,
  .product-timing-impact {
    grid-template-columns: 1fr;
  }
  .product-timing-flow > i {
    display: none;
  }
  .dashboard-now-grid {
    grid-template-columns: 1fr;
    grid-template-areas:
      "cash"
      "profit"
      "risk";
  }
  .dashboard-hero-kpis {
    grid-template-columns: 1fr;
  }
  .import-control-row {
    grid-template-columns: 1fr;
  }
  .product-inline-editor {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .product-inline-status,
  .product-inline-metrics,
  .product-inline-actions {
    grid-column: 1 / -1;
  }
  .pl-matrix {
    min-width: 1380px;
  }
  .pl-matrix th,
  .pl-matrix td {
    width: 112px;
    min-width: 112px;
    max-width: 112px;
  }
  .pl-matrix th:first-child,
  .pl-matrix td:first-child {
    width: 260px;
    min-width: 260px;
    max-width: 260px;
  }
  .pl-matrix th:last-child,
  .pl-matrix td:last-child {
    width: 118px;
    min-width: 118px;
    max-width: 118px;
  }
}

@media (max-width: 768px) {
  .topbar {
    padding: 12px 14px;
    flex-direction: column;
    align-items: stretch;
  }
  .topbar-title {
    justify-content: space-between;
  }
  .topbar-actions,
  .page-actions {
    justify-content: flex-start;
  }
  .topbar-actions .pill {
    order: 10;
  }
  #view,
  #view:has(.pl-page),
  #view:has(#sales-grid) {
    padding: 12px 12px 32px;
  }
  .cards {
    grid-template-columns: 1fr;
  }
  .cash-risk-brief,
  .qb-refresh-grid,
  .cash-bridge-cards,
  .breakdown-visual-grid,
  .breakdown-score-grid,
  .product-inline-editor,
  .product-driver-summary,
  .product-change-path,
  .product-driver-grid,
  .dashboard-metric-modal,
  .metric-audit-head,
  .metric-insight-grid,
  .cash-position-visual,
  .cash-runway-strip,
  .metric-investigation-grid,
  .metric-audit-grid,
  .dashboard-decision-path.compact,
  .readout-grid,
  .form-grid,
  .drill-teach-grid {
    grid-template-columns: 1fr;
  }
  .cash-readout-drivers {
    grid-template-columns: 1fr;
  }
  .cash-toolbar .toolbar-actions {
    width: 100%;
    justify-content: flex-start;
  }
  .cash-toolbar .inline-field {
    flex: 1 1 180px;
  }
  .cash-confidence-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .section-head {
    align-items: flex-start;
  }
  .modal-overlay {
    padding: 8px;
    place-items: stretch;
  }
  .modal,
  .drill-modal,
  .product-driver-modal {
    width: 100%;
    max-width: none;
    max-height: calc(100dvh - 16px);
    padding: 18px;
    border-radius: 10px;
  }
  .modal-actions {
    bottom: -18px;
    margin: 18px -18px -18px;
    padding: 12px 18px 14px;
  }
  .modal-actions .btn {
    flex: 1 1 120px;
  }
  .drill-filters {
    grid-template-columns: 1fr;
  }
  .dropzone {
    padding: 22px 14px;
  }
  .pl-page {
    height: calc(100dvh - 142px);
    min-height: 420px;
  }
  .cash-forecast-panel,
  .sales-grid-scroll {
    max-height: 58vh;
  }
  .cash-page-section,
  .cash-page-section.cash-forecast-panel {
    height: 68vh;
    max-height: 68vh;
  }
}

@media (max-width: 480px) {
  body {
    font-size: 13px;
  }
  .topbar h1 {
    font-size: 18px;
  }
  .btn,
  .icon-btn {
    min-height: 34px;
    padding: 7px 10px;
    font-size: 12px;
  }
  .theme-toggle {
    min-width: 62px;
  }
  .cash-confidence-grid {
    grid-template-columns: 1fr;
  }
  .page-actions {
    width: 100%;
  }
  .page-actions .btn,
  .page-actions select,
  .page-actions input {
    max-width: 100%;
  }
  .panel,
  .card,
  .acc-body {
    padding-left: 14px;
    padding-right: 14px;
  }
  .acc-head {
    padding: 13px 14px;
  }
  th,
  td {
    padding: 7px 9px;
  }
  .pl-matrix {
    min-width: 1180px;
  }
  .pl-matrix th,
  .pl-matrix td {
    width: 96px;
    min-width: 96px;
    max-width: 96px;
    padding: 4px 6px;
  }
  .pl-matrix th:first-child,
  .pl-matrix td:first-child {
    width: 210px;
    min-width: 210px;
    max-width: 210px;
  }
  .pl-matrix th:last-child,
  .pl-matrix td:last-child {
    width: 104px;
    min-width: 104px;
    max-width: 104px;
  }
  #sales-grid {
    min-width: 980px;
  }
  #sales-grid.driver-grid th,
  #sales-grid.driver-grid td,
  .cash-matrix th,
  .cash-matrix td {
    padding: 6px 8px;
  }
  .row-forecast-controls {
    grid-template-columns: 1fr;
  }
  .cash-matrix th:first-child,
  .cash-matrix td:first-child {
    min-width: 170px;
    max-width: 170px;
  }
  .cash-matrix th:last-child,
  .cash-matrix td:last-child {
    min-width: 96px;
    max-width: 96px;
  }
  .drill-table th:nth-child(4),
  .drill-table td:nth-child(4),
  .cash-popup-table th:nth-child(4),
  .cash-popup-table td:nth-child(4) {
    width: 130px;
  }
}

/* Dashboard density pass: first screen should behave like an operator cockpit. */
#view:has(.dashboard-page) {
  padding: 14px 20px 40px;
}
.dashboard-page {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.dashboard-page .dashboard-chapter {
  gap: 6px;
}
.dashboard-page .panel {
  padding: 12px 14px;
  border-radius: 8px;
}
.dashboard-page .chart-panel-head {
  margin-bottom: 8px;
  gap: 10px;
}
.dashboard-page .chart-panel-head h2 {
  font-size: 17px;
  line-height: 1.15;
}
.dashboard-page .chart-panel-head .muted,
.dashboard-page .chart-panel-head span {
  font-size: 12.5px;
  line-height: 1.25;
}
.dashboard-page .cockpit-grid {
  gap: 8px;
}
.dashboard-page .cockpit-tile {
  min-height: 76px;
  padding: 10px 12px;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 10px;
  border-radius: 7px;
}
.dashboard-page .cockpit-ring {
  width: 36px;
  height: 36px;
}
.dashboard-page .cockpit-ring::after {
  inset: 4px;
}
.dashboard-page .cockpit-ring i {
  font-size: 12px;
}
.dashboard-page .cockpit-copy em {
  font-size: 10.5px;
  letter-spacing: .025em;
}
.dashboard-page .cockpit-copy strong {
  font-size: 16px;
}
.dashboard-page .cockpit-copy b {
  font-size: 11.5px;
  line-height: 1.15;
}
.goal-path-panel {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
  box-shadow: var(--shadow);
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  gap: 10px;
  padding: 8px 10px;
}
.goal-path-head {
  border-right: 1px solid var(--line);
  padding-right: 10px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.goal-path-head span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.goal-path-head strong {
  margin-top: 3px;
  color: var(--ink);
  font-size: 18px;
  line-height: 1;
}
.goal-path-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 7px;
}
.goal-step {
  min-width: 0;
  min-height: 54px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--panel-2);
  color: var(--ink);
  padding: 7px 8px;
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 7px;
  align-items: center;
  text-align: left;
  cursor: pointer;
}
.goal-step:hover,
.goal-step:focus-visible {
  border-color: var(--brand);
  background: var(--hover-bg);
}
.goal-step > i {
  width: 22px;
  height: 22px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: var(--panel);
  color: var(--brand-dark);
  font-style: normal;
  font-size: 10px;
  font-weight: 850;
}
.goal-step.neg { border-left: 4px solid var(--red); }
.goal-step.warn { border-left: 4px solid var(--amber); }
.goal-step.pos { border-left: 4px solid var(--green); }
.goal-step.neg > i { color: var(--red); }
.goal-step.warn > i { color: var(--amber); }
.goal-step.pos > i { color: var(--green); }
.goal-step span {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 2px;
}
.goal-step em {
  color: var(--muted);
  font-size: 9.5px;
  font-style: normal;
  font-weight: 850;
  text-transform: uppercase;
}
.goal-step strong {
  color: var(--ink);
  font-size: 13px;
  line-height: 1.05;
}
.goal-step b {
  color: var(--muted);
  font-size: 10px;
  font-weight: 650;
  line-height: 1.12;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.dashboard-page .product-map-panel {
  padding-bottom: 8px;
}
.dashboard-page .product-map-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(420px, .9fr);
  gap: 10px;
  align-items: start;
}
.dashboard-page .product-map-panel > .chart-panel-head {
  grid-column: 1 / -1;
}
.dashboard-page .product-map-panel > .table-scroll {
  grid-column: 2;
  grid-row: 2;
  max-height: 314px;
  overflow: auto;
  border-left: 1px solid var(--line);
  padding-left: 8px;
}
.dashboard-page .product-map-grid {
  grid-column: 1;
  grid-row: 2;
  grid-template-columns: minmax(0, 1fr) 150px;
  gap: 10px;
}
.dashboard-page .product-map-wrap {
  height: 250px;
  min-height: 250px;
}
.dashboard-page .product-map-legend {
  gap: 6px;
  padding-left: 10px;
  font-size: 11px;
}
.dashboard-page .legend-proof {
  padding: 7px;
  font-size: 10.5px;
}
.dashboard-page .product-intel-table th,
.dashboard-page .product-intel-table td {
  padding: 5px 8px;
  font-size: 11.5px;
}
.growth-allocation-panel {
  min-width: 0;
}
.growth-board-layout {
  display: grid;
  grid-template-columns: minmax(300px, .9fr) minmax(0, 1.6fr);
  gap: 10px;
  margin-bottom: 10px;
}
.growth-board-answer {
  border: 1px solid var(--line);
  border-left: 5px solid var(--brand);
  border-radius: 8px;
  background: var(--panel-2);
  padding: 10px 12px;
}
.growth-board-answer.pos { border-left-color: var(--green); }
.growth-board-answer.warn { border-left-color: var(--amber); }
.growth-board-answer.neg { border-left-color: var(--red); }
.growth-board-answer span,
.growth-proof-panel > span {
  display: block;
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .035em;
  text-transform: uppercase;
}
.growth-board-answer strong {
  display: block;
  margin-top: 5px;
  color: var(--ink);
  font-size: 18px;
  line-height: 1.05;
}
.growth-board-answer em {
  display: block;
  margin-top: 7px;
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  font-weight: 650;
  line-height: 1.35;
}
.growth-board-cards {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.growth-board-card {
  min-width: 0;
  border: 1px solid var(--line);
  border-left: 4px solid var(--brand);
  border-radius: 8px;
  background: var(--panel-2);
  color: var(--ink);
  padding: 9px 10px;
  text-decoration: none;
}
.growth-board-card.pos { border-left-color: var(--green); }
.growth-board-card.warn { border-left-color: var(--amber); }
.growth-board-card.neg { border-left-color: var(--red); }
.growth-board-card:hover {
  border-color: var(--brand);
  background: var(--hover-bg);
}
.growth-board-card span {
  display: block;
  color: var(--muted);
  font-size: 9.5px;
  font-weight: 900;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.growth-board-card strong {
  display: block;
  margin-top: 4px;
  color: var(--ink);
  font-size: 15px;
}
.growth-board-card em {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 10.5px;
  font-style: normal;
  font-weight: 650;
  line-height: 1.2;
}
.growth-allocation-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, .32fr);
  gap: 10px;
  align-items: stretch;
}
.growth-allocation-table td:nth-child(3) {
  min-width: 220px;
}
.growth-action-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 58px;
  border-radius: 999px;
  padding: 3px 8px;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}
.growth-action-chip.pos {
  background: var(--green-bg);
  color: var(--green);
}
.growth-action-chip.warn {
  background: var(--amber-bg);
  color: var(--amber);
}
.growth-action-chip.neg {
  background: var(--red-bg);
  color: var(--red);
}
.growth-allocation-table td em {
  display: block;
  margin-top: 0;
  color: var(--muted);
  font-size: 10.5px;
  font-style: normal;
  font-weight: 650;
  line-height: 1.2;
}
.growth-proof-panel {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel-2);
  padding: 10px;
}
.growth-proof-row {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr) auto;
  gap: 4px 8px;
  align-items: center;
  margin-top: 8px;
  border: 1px solid var(--line);
  border-left: 4px solid var(--amber);
  border-radius: 8px;
  background: var(--panel);
  color: var(--ink);
  padding: 8px;
  text-decoration: none;
}
.growth-proof-row.pos {
  border-left-color: var(--green);
}
.growth-proof-row.warn {
  border-left-color: var(--amber);
}
.growth-proof-row:hover {
  border-color: var(--brand);
  background: var(--hover-bg);
}
.growth-proof-row i {
  grid-row: 1 / span 2;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: var(--amber-bg);
  color: var(--amber);
  font-style: normal;
  font-size: 10px;
  font-weight: 900;
}
.growth-proof-row.pos i {
  background: var(--green-bg);
  color: var(--green);
}
.growth-proof-row span {
  color: var(--ink);
  font-size: 12px;
  font-weight: 850;
}
.growth-proof-row strong {
  color: var(--ink);
  font-size: 12px;
  font-weight: 900;
}
.growth-proof-row em {
  grid-column: 2 / -1;
  color: var(--muted);
  font-size: 10.5px;
  font-style: normal;
  font-weight: 650;
  line-height: 1.2;
}
.dashboard-page .status-chip,
.dashboard-page .issue-chip,
.dashboard-page .confidence-chip {
  padding: 2px 6px;
  font-size: 10px;
}
.dashboard-page .economics-grid,
.dashboard-page .stress-assumption-grid {
  gap: 10px;
}
.dashboard-page .trend-stress-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(420px, .85fr);
  gap: 10px;
}
.operator-summary-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
.operator-pnl-panel,
.operator-cash-panel {
  min-width: 0;
}
.operator-summary-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
  margin-bottom: 8px;
}
.operator-summary-card {
  min-width: 0;
  border: 1px solid var(--line);
  border-left: 4px solid var(--brand);
  border-radius: 7px;
  background: var(--panel-2);
  padding: 7px 9px;
}
.operator-summary-card.pos { border-left-color: var(--green); }
.operator-summary-card.neg { border-left-color: var(--red); }
.operator-summary-card.warn { border-left-color: var(--amber); }
.operator-summary-card span {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.operator-summary-card strong {
  display: block;
  margin-top: 3px;
  color: var(--ink);
  font-size: 18px;
  line-height: 1;
}
.operator-summary-card.neg strong { color: var(--red); }
.operator-summary-card em {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 11.5px;
  font-style: normal;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.operator-pnl-table th,
.operator-pnl-table td,
.operator-cash-table th,
.operator-cash-table td {
  padding: 6px 7px;
  font-size: 12.5px;
}
.operator-pnl-table td,
.operator-cash-table td,
.growth-allocation-table td {
  font-weight: 400;
}
.dashboard-page .dashboard-breakdown-link {
  color: var(--ink);
}
.dashboard-page .dashboard-breakdown-link.pos {
  color: var(--ink);
}
.dashboard-page .dashboard-breakdown-link.neg {
  color: var(--red);
}
.dashboard-page .dashboard-breakdown-link.pos,
.dashboard-page .operator-summary-card.pos strong,
.dashboard-page .metric-driver-card.pos strong,
.dashboard-page .metric-insight-card.pos strong,
.dashboard-page .metric-focused-grid .mini-card.pos strong,
.dashboard-page .breakdown-score-grid .mini-card.pos strong,
.dashboard-page .composition-legend button.pos strong,
.dashboard-page .product-audit-panel-head em.pos,
.dashboard-page .product-audit-mini-pnl td.pos {
  color: var(--ink);
}
.dashboard-page .dashboard-breakdown-link.neg,
.dashboard-page .operator-summary-card.neg strong,
.dashboard-page .metric-driver-card.neg strong,
.dashboard-page .metric-insight-card.neg strong,
.dashboard-page .metric-focused-grid .mini-card.neg strong,
.dashboard-page .breakdown-score-grid .mini-card.neg strong {
  color: var(--red);
}
.operator-pnl-table .dashboard-breakdown-link {
  font-size: 12.5px;
  font-weight: 500;
}
.operator-pnl-table th {
  vertical-align: bottom;
  white-space: nowrap;
}
.operator-pnl-table th:nth-child(1),
.operator-pnl-table td:nth-child(1) {
  min-width: 145px;
}
.operator-pnl-table th:nth-child(2),
.operator-pnl-table td:nth-child(2) {
  min-width: 238px;
  text-align: center;
}
.operator-pnl-table th:nth-child(n+3),
.operator-pnl-table td:nth-child(n+3) {
  min-width: 86px;
  text-align: right;
}
.operator-pnl-table th:nth-child(11),
.operator-pnl-table td:nth-child(11),
.operator-pnl-table th:nth-child(12),
.operator-pnl-table td:nth-child(12) {
  min-width: 106px;
}
.sales-history-spark {
  appearance: none;
  width: 124px;
  border: 0;
  background: transparent;
  color: var(--ink);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  text-align: left;
  cursor: pointer;
}
.sales-history-line {
  width: 116px;
  height: 28px;
  overflow: visible;
}
.sales-history-line polyline {
  fill: none;
  stroke: #2563eb;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}
.sales-history-empty {
  color: var(--muted);
  font-size: 10.5px;
  font-style: italic;
}
.operator-highlight {
  display: inline-flex;
  border-radius: 999px;
  padding: 2px 7px;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  white-space: nowrap;
}
.operator-highlight.pos {
  background: var(--green-bg);
  color: var(--green);
}
.operator-highlight.warn {
  background: var(--amber-bg);
  color: var(--amber);
}
.operator-highlight.neg {
  background: var(--red-bg);
  color: var(--red);
}
.operator-cash-table th {
  min-width: 86px;
  text-align: right;
}
.operator-cash-table th.forecast-period,
.operator-cash-table td.forecast-period {
  background: rgba(245, 158, 11, 0.055);
}
.operator-cash-table th.forecast-period {
  box-shadow: inset 0 2px 0 rgba(245, 158, 11, 0.42);
}
.operator-cash-table th.forecast-start,
.operator-cash-table td.forecast-start {
  border-left: 1px solid rgba(245, 158, 11, 0.52);
}
.operator-cash-table th:first-child,
.operator-cash-table td:first-child {
  position: sticky;
  left: 0;
  z-index: 1;
  min-width: 132px;
  background: var(--panel);
  text-align: left;
}
.operator-cash-table th span,
.operator-cash-table th em {
  display: block;
}
.operator-cash-table th em {
  color: var(--muted);
  font-size: 9px;
  font-style: normal;
  font-weight: 650;
}
.cash-lane-name {
  color: var(--ink);
  display: inline-flex;
  align-items: center;
  font-size: 13px;
  font-weight: 900;
}
.client-setup-page {
  display: grid;
  gap: 12px;
}
.client-setup-panel {
  padding: 18px;
}
.client-setup-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(220px, 1fr));
  gap: 12px;
  align-items: start;
}
.client-setup-block {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
  padding: 12px;
}
.client-setup-block h3 {
  margin: 0 0 10px;
  font-size: 13px;
}
.client-setup-fields {
  display: grid;
  gap: 8px;
}
.client-setup-field {
  display: grid;
  gap: 4px;
}
.client-setup-field span,
.client-module-toggle span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}
.client-setup-field input {
  width: 100%;
  min-height: 34px;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 6px 8px;
  background: var(--panel);
  color: var(--ink);
  font: inherit;
}
.client-module-grid,
.client-setup-counts {
  display: grid;
  gap: 8px;
}
.client-module-toggle,
.client-setup-counts a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 7px 9px;
  background: var(--panel-2);
  color: var(--ink);
  text-decoration: none;
}
.client-module-toggle {
  justify-content: flex-start;
}
.client-setup-counts strong {
  font-size: 16px;
}
.client-setup-counts span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  text-align: right;
}
.client-setup-table th,
.client-setup-table td {
  white-space: nowrap;
}
@media (max-width: 1200px) {
  .client-setup-grid {
    grid-template-columns: repeat(2, minmax(220px, 1fr));
  }
}
@media (max-width: 760px) {
  .client-setup-grid {
    grid-template-columns: 1fr;
  }
}
.operator-cash-table .cash-rollforward-row td {
  background: var(--panel-2);
  font-weight: 900;
}
.operator-cash-table .cash-rollforward-row td.forecast-period {
  background: linear-gradient(0deg, rgba(245, 158, 11, 0.055), rgba(245, 158, 11, 0.055)), var(--panel-2);
}
.operator-cash-table .cash-rollforward-row.net td {
  border-top: 2px solid var(--ink);
}
.operator-cash-table .cash-rollforward-row.ending td {
  border-top: 2px solid var(--line-strong);
}
.operator-cash-table .cash-rollforward-row td:first-child {
  background: var(--panel-2);
}
.proof-product-impact {
  display: grid;
  grid-template-columns: minmax(150px, .7fr) minmax(0, 3.3fr);
  grid-column: 1 / -1;
  gap: 10px;
  align-items: stretch;
  padding: 11px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
}
.proof-product-impact-main {
  display: grid;
  gap: 2px;
  align-content: center;
  padding-right: 10px;
  border-right: 1px solid var(--line);
}
.proof-product-impact-main span,
.proof-product-impact-grid span {
  color: var(--muted);
  font-size: 10.5px;
  font-weight: 800;
  line-height: 1.1;
  text-transform: uppercase;
}
.proof-product-impact-main strong {
  color: var(--ink);
  font-size: 25px;
  line-height: 1;
}
.proof-product-impact-main em,
.proof-product-impact-grid em {
  color: var(--muted);
  font-size: 11.5px;
  font-style: normal;
  line-height: 1.25;
}
.proof-source-tags b {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  border: 1px solid #d9e5f2;
  border-radius: 999px;
  background: #f7faff;
  color: #53657d;
  padding: 2px 7px;
  font-size: 10.5px;
  font-weight: 850;
  line-height: 1;
}
.proof-product-impact-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(96px, 1fr));
  gap: 6px;
}
.proof-product-impact-grid a {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 4px 8px;
  border-left: 1px solid #e5edf6;
  color: inherit;
  text-decoration: none;
  transition: background .14s ease, border-color .14s ease;
}
.proof-product-impact-grid a:hover,
.proof-product-impact-grid a:focus {
  border-left-color: var(--brand);
  background: #f6faff;
  outline: none;
}
.proof-product-impact-grid strong {
  color: var(--ink);
  font-size: 17px;
  font-weight: 650;
  line-height: 1.15;
  white-space: nowrap;
}
.proof-product-impact-grid strong.pos {
  color: var(--green);
}
.proof-product-impact-grid strong.neg {
  color: var(--red);
}
.product-row-link i {
  width: 19px;
  height: 19px;
  border-radius: 999px;
  display: inline-grid;
  place-items: center;
  background: var(--panel-2);
  color: var(--muted);
  border: 1px solid var(--line);
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
  text-transform: uppercase;
}
.product-row-link i.pos {
  background: var(--green-bg);
  border-color: color-mix(in srgb, var(--green) 28%, var(--line));
  color: var(--green);
}
.product-row-link i.neg {
  background: var(--red-bg);
  border-color: color-mix(in srgb, var(--red) 28%, var(--line));
  color: var(--red);
}
.product-row-link i.warn {
  background: var(--amber-bg);
  border-color: color-mix(in srgb, var(--amber) 28%, var(--line));
  color: var(--amber);
}
.product-row-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.dashboard-proof-number {
  width: 100%;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  color: inherit;
  padding: 3px 4px;
  text-align: right;
  cursor: pointer;
}
.dashboard-proof-number:hover {
  border-color: #93b7ec;
  background: var(--hover-bg);
}
.cash-week-value {
  display: grid;
  gap: 3px;
}
.cash-week-value span {
  color: var(--ink);
  font-size: 13px;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
}
.cash-week-value.neg span { color: var(--red); }
.cash-week-value.forecast span {
  text-decoration: underline dotted;
  text-underline-offset: 2px;
}
.cash-week-value i {
  display: none;
  justify-self: end;
  height: 4px;
  min-width: 3px;
  max-width: 100%;
  border-radius: 999px;
  background: currentColor;
  opacity: .75;
}
.cash-week-audit {
  display: grid;
  gap: 12px;
}
.cash-week-audit-head {
  border: 1px solid var(--line);
  border-left: 4px solid var(--green);
  border-radius: 8px;
  background: var(--panel-2);
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
  padding: 12px 14px;
}
.cash-week-audit-head.pos {
  border-left-color: var(--green);
}
.cash-week-audit-head.neg {
  border-left-color: var(--red);
}
.cash-week-audit-head span i {
  width: 18px;
  height: 18px;
  border-radius: 999px;
  display: inline-grid;
  place-items: center;
  margin-right: 7px;
  background: var(--green-bg);
  color: var(--green);
  font-style: normal;
}
.cash-week-audit-head.neg span i {
  background: var(--red-bg);
  color: var(--red);
}
.cash-week-audit-head span,
.cash-week-proof-grid span {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .035em;
  text-transform: uppercase;
}
.cash-week-audit-head strong {
  display: block;
  margin-top: 4px;
  color: var(--ink);
  font-size: 26px;
  line-height: 1;
}
.cash-week-audit-head.neg strong,
.cash-week-history td.neg {
  color: var(--red);
}
.cash-week-audit-head em {
  display: block;
  margin-top: 7px;
  color: var(--muted);
  font-size: 13px;
  font-style: normal;
  font-weight: 650;
  line-height: 1.35;
}
.cash-week-story-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: 10px;
}
.cash-week-visual,
.cash-week-driver-card {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
  padding: 12px;
}
.cash-week-visual-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
  margin-bottom: 8px;
}
.cash-week-visual-head span,
.cash-week-driver-card span {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .035em;
  text-transform: uppercase;
}
.cash-week-visual-head strong,
.cash-week-driver-card strong {
  display: block;
  margin-top: 4px;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.15;
}
.cash-week-visual-head em,
.cash-week-driver-card em {
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  font-weight: 650;
  line-height: 1.3;
  text-align: right;
}
.cash-week-visual-head em.neg {
  color: var(--red);
}
.cash-week-line {
  width: 100%;
  min-height: 168px;
  overflow: visible;
}
.cash-week-line .zero {
  stroke: var(--line);
  stroke-dasharray: 4 5;
}
.cash-week-line polyline {
  fill: none;
  stroke: var(--brand);
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.cash-week-line circle {
  fill: var(--panel);
  stroke: var(--brand);
  stroke-width: 2;
}
.cash-week-line g.neg circle {
  stroke: var(--red);
}
.cash-week-line g.selected circle {
  fill: var(--brand);
}
.cash-week-line g.selected.neg circle {
  fill: var(--red);
}
.cash-week-line text {
  fill: var(--ink);
  font-size: 12px;
  font-weight: 750;
}
.cash-week-driver-card {
  display: grid;
  align-content: start;
  gap: 8px;
}
.cash-week-driver-card em {
  text-align: left;
}
.cash-week-driver-card div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: baseline;
  border-top: 1px solid var(--line);
  padding-top: 8px;
}
.cash-week-driver-card b {
  color: var(--muted);
  font-size: 11.5px;
  font-weight: 800;
}
.cash-week-driver-card i {
  color: var(--ink);
  font-size: 12.5px;
  font-style: normal;
  font-weight: 500;
  font-variant-numeric: tabular-nums;
}
.cash-week-proof-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.cash-week-proof-grid > div {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
  padding: 10px;
}
.cash-week-proof-grid strong {
  display: block;
  margin-top: 4px;
  color: var(--ink);
  font-size: 14px;
}
.cash-week-proof-grid em {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 650;
}
.cash-week-history h4 {
  margin: 0 0 6px;
}
.cash-week-history table {
  width: 100%;
}
.cash-week-history td,
.cash-week-history th {
  font-size: 11.5px;
  font-weight: 400;
}
.cash-week-history th {
  font-weight: 800;
}
.cash-week-history tr.selected td {
  background: var(--hover-bg);
  box-shadow: inset 3px 0 0 var(--brand);
}
.cash-week-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.cash-week-actions a {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel-2);
  color: var(--ink);
  padding: 10px;
  text-decoration: none;
}
.cash-week-actions a:hover {
  border-color: var(--brand);
  background: var(--hover-bg);
}
.cash-week-actions span {
  display: block;
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.cash-week-actions strong {
  display: block;
  margin-top: 4px;
  color: var(--ink);
  font-size: 13px;
}
.cash-week-audit-strip {
  border: 1px solid var(--line);
  border-left: 4px solid var(--green);
  border-radius: 7px;
  background: var(--panel-2);
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(190px, .45fr) auto;
  gap: 10px;
  align-items: center;
  padding: 8px 10px;
}
.cash-week-audit-strip.neg {
  border-left-color: var(--red);
}
.cash-week-audit-strip span {
  display: block;
  color: var(--muted);
  font-size: 10.5px;
  font-weight: 900;
  letter-spacing: .035em;
  text-transform: uppercase;
}
.cash-week-audit-strip span i {
  width: 17px;
  height: 17px;
  border-radius: 999px;
  display: inline-grid;
  place-items: center;
  margin-right: 6px;
  background: var(--green-bg);
  color: var(--green);
  font-style: normal;
}
.cash-week-audit-strip.neg span i {
  background: var(--red-bg);
  color: var(--red);
}
.cash-week-audit-strip strong {
  display: block;
  margin-top: 3px;
  color: var(--ink);
  font-size: 14px;
  font-weight: 750;
  line-height: 1.15;
}
.cash-week-audit-strip.neg > div:first-child strong {
  color: var(--red);
}
.cash-week-audit-strip em {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 650;
  line-height: 1.2;
}
.cash-week-audit-strip .btn {
  justify-self: end;
}
.cash-week-audit .cash-week-story-grid {
  grid-template-columns: minmax(0, 1fr) 250px;
  gap: 8px;
}
.cash-week-audit .cash-week-story-grid-chart-only {
  grid-template-columns: minmax(0, 1fr);
}
.cash-week-audit .cash-week-visual,
.cash-week-audit .cash-week-driver-card {
  border-radius: 7px;
  padding: 8px 10px;
}
.cash-week-audit .cash-week-visual-head {
  margin-bottom: 3px;
}
.cash-week-audit .cash-week-visual-head strong,
.cash-week-audit .cash-week-driver-card strong {
  font-size: 13.5px;
}
.cash-week-audit .cash-week-line {
  height: 138px;
  min-height: 138px;
}
.cash-week-audit .cash-week-line-detailed {
  display: block;
  height: 230px;
  min-height: 230px;
}
.cash-week-modal.drill-modal {
  width: min(1480px, calc(100vw - 32px));
}
.cash-week-chart-panel {
  overflow: hidden;
}
.cash-week-chart-scroll {
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  padding-bottom: 3px;
}
.cash-week-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}
.cash-week-legend span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--muted);
  font-size: 10.5px;
  font-weight: 850;
  letter-spacing: 0;
  text-transform: none;
}
.cash-week-legend i {
  width: 18px;
  height: 3px;
  border-radius: 999px;
  background: var(--brand);
}
.cash-week-legend i.forecast {
  background: #7c8da5;
}
.cash-week-legend i.selected {
  width: 8px;
  height: 8px;
  background: var(--amber);
}
.cash-week-line-detailed .cash-week-gridline line {
  stroke: #d9e3f0;
  stroke-width: 1;
}
.cash-week-line-detailed .cash-week-gridline text {
  fill: var(--muted);
  font-size: 11px;
  font-weight: 750;
  text-anchor: end;
}
.cash-week-line-detailed .axis {
  stroke: #aebed2;
  stroke-width: 1;
}
.cash-week-line-detailed .zero {
  stroke: #94a3b8;
  stroke-dasharray: 4 4;
  stroke-width: 1.2;
}
.cash-week-line-detailed polyline {
  fill: none;
  stroke: var(--brand);
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.cash-week-line-detailed circle {
  fill: #fff;
  stroke: var(--brand);
  stroke-width: 2.5;
}
.cash-week-line-detailed g.forecast circle {
  stroke: #7c8da5;
}
.cash-week-line-detailed g.neg circle {
  stroke: var(--red);
}
.cash-week-line-detailed g.selected circle {
  fill: var(--amber);
  stroke: #a16207;
}
.cash-week-line-detailed .selected-week-line {
  stroke: var(--amber);
  stroke-dasharray: 5 4;
  stroke-width: 1.5;
}
.cash-week-line-detailed text {
  fill: var(--ink);
  font-size: 10.5px;
  font-weight: 750;
}
.cash-week-line-detailed .point-value {
  fill: var(--muted);
}
.cash-week-line-detailed .point-value.selected {
  fill: var(--ink);
  font-weight: 900;
}
.cash-week-line-detailed .x-label {
  fill: var(--ink);
  font-size: 10.5px;
}
.cash-week-line-detailed .x-basis {
  fill: var(--muted);
  font-size: 9.5px;
  text-transform: uppercase;
}
.cash-week-audit .cash-week-driver-card {
  gap: 6px;
}
.cash-week-audit .cash-week-driver-card div {
  padding-top: 6px;
}
.cash-week-history-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 5px;
}
.cash-week-history-head h4 {
  margin: 0;
}
.cash-week-history-head span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 650;
}
.cash-week-proof-matrix {
  table-layout: fixed;
}
.cash-week-proof-matrix th,
.cash-week-proof-matrix td {
  min-width: 78px;
  padding: 6px 7px;
  text-align: right;
  white-space: nowrap;
}
.cash-week-proof-matrix th:first-child,
.cash-week-proof-matrix td:first-child {
  min-width: 76px;
  text-align: left;
}
.cash-week-proof-matrix th span,
.cash-week-proof-matrix th em {
  display: block;
}
.cash-week-proof-matrix th em {
  color: var(--muted);
  font-size: 9.5px;
  font-style: normal;
  font-weight: 650;
  text-transform: uppercase;
}
.cash-week-proof-matrix .selected {
  background: var(--hover-bg);
  box-shadow: inset 0 3px 0 var(--brand);
}
.cash-week-proof-matrix td.neg {
  color: var(--red);
}
.cash-week-transactions {
  min-width: 0;
  margin-top: 6px;
}
.cash-week-transaction-scroll {
  max-height: 214px;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--panel);
}
.cash-week-transaction-table {
  width: 100%;
  min-width: 980px;
  table-layout: fixed;
}
.cash-week-transaction-table th,
.cash-week-transaction-table td {
  padding: 7px 9px;
  font-size: 11.5px;
  vertical-align: middle;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cash-week-transaction-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: var(--panel-2);
  color: var(--muted);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .025em;
}
.cash-week-transaction-table td:nth-child(1) {
  width: 92px;
}
.cash-week-transaction-table th:nth-child(2),
.cash-week-transaction-table td:nth-child(2) {
  width: 230px;
  font-weight: 650;
}
.cash-week-transaction-table th:nth-child(3),
.cash-week-transaction-table td:nth-child(3) {
  width: 260px;
  font-weight: 650;
}
.cash-week-transaction-table th:nth-child(5),
.cash-week-transaction-table td:nth-child(5) {
  width: 110px;
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.cash-week-transaction-table td.neg {
  color: var(--red);
}
.cash-week-open-row {
  cursor: pointer;
}
.cash-week-open-row:hover td {
  background: var(--hover-bg);
}
.workbench-focused-row td {
  background: #eaf3ff !important;
  box-shadow: inset 0 1px 0 rgba(31,111,235,.28), inset 0 -1px 0 rgba(31,111,235,.28);
}
.cash-week-actions.compact {
  gap: 6px;
}
.cash-week-actions.compact a {
  padding: 7px 9px;
}
.product-audit-dashboard {
  display: grid;
  gap: 12px;
}
.product-audit-head {
  border: 1px solid var(--line);
  border-left: 5px solid var(--green);
  border-radius: 8px;
  background: var(--panel-2);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, .35fr);
  gap: 12px;
  padding: 14px;
}
.product-audit-head.warn {
  border-left-color: var(--amber);
}
.product-audit-head.neg {
  border-left-color: var(--red);
}
.product-audit-head span,
.product-audit-panel-head span,
.product-audit-watch span {
  display: block;
  color: var(--muted);
  font-size: 10.5px;
  font-weight: 900;
  letter-spacing: .035em;
  text-transform: uppercase;
}
.product-audit-head strong {
  display: block;
  margin-top: 5px;
  color: var(--ink);
  font-size: 24px;
  line-height: 1.05;
}
.product-audit-head em,
.product-audit-panel-head em {
  display: block;
  margin-top: 6px;
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  font-weight: 650;
  line-height: 1.35;
}
.product-audit-grid {
  display: grid;
  grid-template-columns: minmax(280px, .9fr) minmax(260px, .8fr) minmax(220px, .65fr);
  gap: 10px;
}
.product-audit-panel,
.product-audit-proof {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
  padding: 12px;
}
.product-audit-panel-head {
  margin-bottom: 8px;
}
.product-audit-panel-head strong {
  display: block;
  margin-top: 4px;
  color: var(--ink);
  font-size: 17px;
  line-height: 1.1;
}
.product-audit-panel-head em.neg,
.product-audit-mini-pnl td.neg {
  color: var(--red);
}
.product-audit-line {
  width: 100%;
  min-height: 90px;
}
.product-audit-line polyline {
  fill: none;
  stroke: var(--brand);
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.product-audit-line circle {
  fill: var(--panel);
  stroke: var(--brand);
  stroke-width: 2;
}
.product-audit-mini-pnl {
  width: 100%;
}
.product-audit-mini-pnl td {
  font-size: 12.5px;
  font-weight: 400;
}
.product-audit-mini-pnl td:last-child {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.product-audit-mini-pnl tr.total td {
  border-top: 2px solid var(--line);
  font-weight: 850;
}
.product-contribution-months th,
.product-contribution-months td {
  font-size: 11px;
  padding: 6px 7px;
  white-space: nowrap;
}
.product-contribution-months th {
  color: var(--muted);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.product-contribution-months td:first-child,
.product-contribution-months th:first-child {
  text-align: left;
}
.sales-history-hooks {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(76px, 1fr));
  gap: 6px;
  margin-top: 8px;
}
.sales-history-hooks button,
.sales-history-hooks a {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--panel-2);
  padding: 7px 8px;
  color: inherit;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}
.sales-history-hooks button:hover,
.sales-history-hooks a:hover {
  border-color: var(--brand);
  background: var(--hover-bg);
}
.sales-history-hooks span {
  display: block;
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}
.sales-history-hooks strong {
  display: block;
  margin-top: 2px;
  color: var(--ink);
  font-size: 14px;
}
.sales-history-hooks em {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-size: 10px;
  font-style: normal;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.product-audit-line .product-audit-point {
  cursor: pointer;
}
.product-audit-watch {
  display: grid;
  gap: 7px;
}
.product-audit-watch a {
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--panel-2);
  color: var(--ink);
  padding: 9px;
  text-decoration: none;
}
.product-audit-watch a:hover {
  border-color: var(--brand);
  background: var(--hover-bg);
}
.product-audit-watch strong {
  display: block;
  margin-top: 3px;
  color: var(--ink);
  font-size: 12.5px;
}
.product-audit-proof table {
  width: 100%;
}
.product-audit-proof th,
.product-audit-proof td {
  font-size: 12px;
}
.product-audit-empty {
  color: var(--muted);
  font-size: 12px;
  padding: 18px 0;
}
.compact-waterfall-grid {
  display: grid;
  gap: 7px;
}
.compact-waterfall-row {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 8px;
  align-items: stretch;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--panel-2);
  padding: 7px;
}
.compact-waterfall-product {
  border: 0;
  border-right: 1px solid var(--line);
  background: transparent;
  color: var(--ink);
  padding: 2px 8px 2px 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: left;
  cursor: pointer;
}
.compact-waterfall-product strong {
  font-size: 12px;
  line-height: 1.1;
}
.compact-waterfall-product span {
  color: var(--muted);
  font-size: 10.5px;
  font-weight: 800;
}
.compact-waterfall-steps {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 5px;
}
.compact-waterfall-step {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--panel);
  padding: 5px 6px;
  display: grid;
  gap: 2px;
  text-align: center;
  cursor: pointer;
}
.compact-waterfall-step span {
  color: var(--muted);
  font-size: 9px;
  font-weight: 850;
  text-transform: uppercase;
}
.compact-waterfall-step strong {
  font-size: 11px;
  font-variant-numeric: tabular-nums;
  overflow: hidden;
  text-overflow: ellipsis;
}
.compact-waterfall-step.pos {
  color: var(--green);
  box-shadow: inset 0 3px 0 var(--green);
}
.compact-waterfall-step.warn {
  color: var(--amber);
  box-shadow: inset 0 3px 0 var(--amber);
}
.compact-waterfall-step.neg {
  color: var(--red);
  box-shadow: inset 0 3px 0 var(--red);
}
.dashboard-page .waterfall-card {
  padding: 8px;
}
.dashboard-page .waterfall-bars {
  min-height: 96px;
}
.dashboard-page .waterfall-step {
  height: 92px;
  padding: 4px;
}
.dashboard-page .waterfall-step strong,
.dashboard-page .waterfall-step span {
  font-size: 9.5px;
}
.dashboard-page .mix-stack {
  gap: 8px;
}
.dashboard-page .mix-row {
  grid-template-columns: 104px minmax(0, 1fr);
}
.dashboard-page .mix-bar {
  height: 22px;
}
.dashboard-page .trend-product-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}
.dashboard-page .trend-product-card {
  padding: 7px;
}
.dashboard-page .trend-product-card > span {
  margin-bottom: 4px;
  font-size: 11px;
}
.dashboard-page .trend-spark-row {
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 5px;
  padding-top: 3px;
}
.dashboard-page .trend-spark-row b {
  font-size: 9px;
}
.dashboard-page .trend-spark-row .dashboard-sparkline {
  min-height: 30px;
}
.dashboard-page .trend-spark-row .spark-point em {
  display: none;
}
.dashboard-page .stress-table th,
.dashboard-page .stress-table td,
.dashboard-page .assumptions-table th,
.dashboard-page .assumptions-table td {
  padding: 4px 6px;
  font-size: 10.5px;
}
.dashboard-page .stress-cell,
.dashboard-page .assumption-variance {
  padding: 3px 6px;
  font-size: 10px;
}
.dashboard-page .stress-label i,
.dashboard-page .assumption-name i {
  width: 17px;
  height: 17px;
}
.dashboard-page .inline-product-chip {
  padding: 2px 6px;
  font-size: 10px;
}
.dashboard-page .cash-timeline-wrap {
  height: 260px;
}
.dashboard-page .cash-timeline-feature {
  padding: 10px 12px;
}
.dashboard-page .cash-driver-strip {
  margin: 6px 0 8px;
  gap: 6px;
}
.dashboard-page .cash-driver-card,
.dashboard-page .cash-driver-head {
  padding: 6px 8px;
}
.dashboard-page .cash-driver-card strong,
.dashboard-page .cash-driver-head strong {
  font-size: 12px;
}
.dashboard-page .cash-chart-key {
  gap: 8px;
  margin-bottom: 6px;
  font-size: 10.5px;
}
@media (min-width: 1400px) {
  .dashboard-page .cockpit-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
  .dashboard-page .dashboard-main-intel {
    min-height: 0;
  }
}
@media (max-width: 1200px) {
  .operator-summary-grid {
    grid-template-columns: 1fr;
  }
  .growth-board-layout,
  .growth-allocation-grid {
    grid-template-columns: 1fr;
  }
  .growth-board-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .dashboard-page .product-map-panel {
    display: block;
  }
  .dashboard-page .product-map-panel > .table-scroll {
    max-height: none;
    border-left: 0;
    padding-left: 0;
  }
  .goal-path-panel {
    grid-template-columns: 1fr;
  }
  .goal-path-head {
    border-right: 0;
    border-bottom: 1px solid var(--line);
    padding: 0 0 8px;
  }
  .goal-path-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .dashboard-page .trend-stress-grid {
    grid-template-columns: 1fr;
  }
  .dashboard-page .trend-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .compact-waterfall-row {
    grid-template-columns: 1fr;
  }
  .compact-waterfall-product {
    border-right: 0;
    border-bottom: 1px solid var(--line);
    padding: 0 0 6px;
  }
}
/* Metric popups become focused decision dashboards for the clicked number. */
.metric-story-modal {
  width: min(1120px, calc(100vw - 44px));
  min-width: min(960px, calc(100vw - 44px));
}

.metric-story-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: start;
  border: 1px solid #c9d8ea;
  border-left: 5px solid var(--brand);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(31, 111, 235, .08), transparent 42%),
    #f8fbff;
  padding: 13px 15px;
}

.metric-story-hero span,
.metric-story-section h4,
.metric-story-tile span,
.metric-action-column > span,
.metric-driver-card span,
.metric-action-card span,
.metric-question-card span,
.metric-proof-card span {
  display: block;
  color: var(--muted);
  font-size: 10.5px;
  font-weight: 900;
  letter-spacing: .04em;
  line-height: 1.15;
  text-transform: uppercase;
}

.metric-story-hero strong {
  display: block;
  margin-top: 4px;
  color: var(--ink);
  font-size: 28px;
  line-height: 1;
}

.metric-story-hero em {
  display: block;
  max-width: 880px;
  margin-top: 8px;
  color: #334155;
  font-size: 13px;
  font-style: normal;
  line-height: 1.42;
}

.metric-story-strip {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(260px, .75fr);
  gap: 9px;
}

.metric-story-tile,
.metric-story-section,
.metric-action-column,
.metric-driver-card,
.metric-action-card,
.metric-question-card,
.metric-proof-card {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.metric-story-tile {
  padding: 10px 12px;
}

.metric-story-tile.primary {
  border-color: #bfdbfe;
  background: #eff6ff;
}

.metric-story-tile strong {
  display: block;
  margin-top: 5px;
  color: var(--ink);
  font-size: 12.5px;
  line-height: 1.35;
}

.metric-story-section {
  padding: 10px 12px 12px;
}

.metric-story-section h4 {
  margin: 0 0 8px;
}

.metric-driver-grid,
.metric-proof-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
}

.metric-action-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.metric-action-column {
  display: grid;
  align-content: start;
  gap: 7px;
  padding: 9px;
}

.metric-action-column > span {
  padding-bottom: 2px;
}

.metric-action-column > em {
  color: #64748b;
  font-size: 12px;
  font-style: normal;
}

.metric-driver-card,
.metric-action-card,
.metric-question-card,
.metric-proof-card {
  display: block;
  color: inherit;
  padding: 9px 10px;
  text-decoration: none;
}

.metric-driver-card:hover,
.metric-action-card:hover,
.metric-question-card:hover,
.metric-proof-card:hover {
  border-color: #93b7ec;
  background: #fbfdff;
}

.metric-driver-card strong,
.metric-action-card strong,
.metric-question-card strong,
.metric-proof-card strong {
  display: block;
  margin-top: 5px;
  color: var(--ink);
  font-size: 14px;
  line-height: 1.17;
  overflow-wrap: anywhere;
}

.metric-driver-card em,
.metric-action-card em,
.metric-proof-card em {
  display: block;
  margin-top: 5px;
  color: #64748b;
  font-size: 11px;
  font-style: normal;
  line-height: 1.25;
}

.metric-driver-card.pos strong,
.metric-action-card.double strong {
  color: var(--green);
}

.metric-driver-card.warn strong,
.metric-action-card.watch strong {
  color: var(--amber);
}

.metric-driver-card.neg strong {
  color: var(--red);
}

.metric-action-card.double {
  border-left: 4px solid var(--green);
}

.metric-action-card.watch {
  border-left: 4px solid var(--amber);
}

.metric-question-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.metric-question-card {
  border-color: #d6e2f0;
  background: #f8fafc;
}

.metric-question-card strong {
  font-size: 12.5px;
  line-height: 1.35;
}

.metric-proof-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.metric-proof-card {
  background: #fbfdff;
}

.metric-proof-card strong {
  font-size: 12px;
  line-height: 1.35;
}

html[data-theme="dark"] .metric-story-hero {
  border-color: #263a57;
  background:
    linear-gradient(135deg, rgba(80, 150, 255, .16), transparent 46%),
    #101927;
}

html[data-theme="dark"] .metric-story-hero em,
html[data-theme="dark"] .metric-driver-card em,
html[data-theme="dark"] .metric-action-card em,
html[data-theme="dark"] .metric-proof-card em,
html[data-theme="dark"] .metric-action-column > em {
  color: #9fb0c7;
}

html[data-theme="dark"] .metric-story-tile,
html[data-theme="dark"] .metric-story-section,
html[data-theme="dark"] .metric-action-column,
html[data-theme="dark"] .metric-driver-card,
html[data-theme="dark"] .metric-action-card,
html[data-theme="dark"] .metric-question-card,
html[data-theme="dark"] .metric-proof-card {
  background: #101927;
  border-color: #263a57;
}

html[data-theme="dark"] .metric-story-tile.primary,
html[data-theme="dark"] .metric-proof-card,
html[data-theme="dark"] .metric-question-card {
  background: #0f1b2c;
}

html[data-theme="dark"] .metric-driver-card:hover,
html[data-theme="dark"] .metric-action-card:hover,
html[data-theme="dark"] .metric-question-card:hover,
html[data-theme="dark"] .metric-proof-card:hover {
  border-color: #4a79bd;
  background: #12233a;
}

@media (max-width: 1180px) {
  .metric-driver-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .metric-question-grid,
  .metric-proof-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .metric-story-modal {
    min-width: 0;
    width: calc(100vw - 24px);
  }
  .metric-story-hero,
  .metric-story-strip,
  .metric-action-grid {
    grid-template-columns: 1fr;
  }
  .metric-driver-grid,
  .metric-question-grid,
  .metric-proof-grid {
    grid-template-columns: 1fr;
  }
}

/* Expansion readiness popup: answer, blockers, and path to green. */
.drill-modal {
  overflow-x: hidden;
}

.dashboard-metric-modal,
.dashboard-metric-modal * {
  min-width: 0;
}

.metric-story-modal {
  width: min(1080px, calc(100vw - 32px));
  min-width: 0;
  overflow-x: hidden;
}

/* Dashboard proof drawer: focused evidence for the clicked number. */
.dashboard-proof-source-active {
  position: relative;
  z-index: 2;
  outline: 3px solid #f5c542;
  outline-offset: 3px;
  background: #e0f7ff !important;
  box-shadow: 0 0 0 6px rgba(245, 197, 66, .22), 0 12px 28px rgba(15, 23, 42, .16);
}

.proof-drawer-overlay {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: flex;
  justify-content: flex-end;
  background: rgba(15, 23, 42, .22);
}

.proof-drawer {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  width: min(760px, calc(100vw - 28px));
  height: 100vh;
  background: #f8fafc;
  border-left: 1px solid #cbd5e1;
  box-shadow: -18px 0 42px rgba(15, 23, 42, .22);
}
.product-proof-drawer {
  width: min(820px, calc(100vw - 24px));
}
.transaction-proof-drawer {
  width: min(940px, calc(100vw - 28px));
}
.transaction-proof-drawer .drill-table-wrap,
.transaction-proof-drawer .modal-table-scroll {
  max-height: none;
  border: 1px solid #dbe4ef;
  border-radius: 8px;
  background: #fff;
}
.transaction-proof-drawer .cash-popup-toolbar,
.transaction-proof-drawer .drill-filters {
  position: sticky;
  top: 0;
  z-index: 2;
  background: #fff;
}
.transaction-proof-drawer .compact-table,
.transaction-proof-drawer .drill-table {
  font-size: 12px;
}

.proof-drawer-header {
  position: relative;
  padding: 14px 16px 12px;
  border-bottom: 1px solid #dbe4ef;
  background: linear-gradient(180deg, #ffffff, #f8fbff);
}

.proof-drawer-close {
  position: absolute;
  top: 10px;
  right: 12px;
  width: 30px;
  height: 30px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  background: #fff;
  color: #334155;
  cursor: pointer;
  font-size: 22px;
  line-height: 1;
}

.proof-kicker {
  display: flex;
  align-items: center;
  gap: 9px;
  padding-right: 42px;
}

.proof-kicker span,
.proof-section h4,
.proof-chart-head span {
  color: #64748b;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .04em;
  line-height: 1.15;
  text-transform: uppercase;
}

.proof-kicker b,
.proof-evidence-status {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 3px 8px;
  border-radius: 999px;
  background: #eef2f7;
  color: #475569;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
}

.proof-kicker b.pass {
  background: #dcfce7;
  color: #166534;
}

.proof-kicker b.warn {
  background: #e0f7ff;
  color: #075985;
}

.proof-kicker b.forecast,
.proof-kicker b.info {
  background: #dbeafe;
  color: #1d4ed8;
}

.proof-period {
  margin-top: 7px;
  color: #475569;
  font-size: 12px;
  font-weight: 800;
}

.proof-cash-headerline {
  display: flex;
  align-items: baseline;
  gap: 8px;
  padding-right: 36px;
}

.proof-cash-headerline span {
  color: #0f172a;
  font-size: 16px;
  font-weight: 750;
  line-height: 1.2;
}

.proof-cash-headerline b {
  color: #64748b;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.2;
}

.cash-week-proof-drawer .proof-drawer-header {
  padding: 12px 14px 10px;
}

.cash-week-proof-drawer .proof-drawer-header > strong {
  margin-top: 4px;
  font-size: 28px;
}

.proof-drawer-header strong {
  display: block;
  margin-top: 5px;
  color: #0f172a;
  font-size: 30px;
  line-height: 1;
}

.proof-drawer-header p {
  max-width: 720px;
  margin: 7px 0 0;
  color: #334155;
  font-size: 13px;
  line-height: 1.35;
}

.proof-header-formula {
  display: grid;
  gap: 3px;
  max-width: 760px;
  margin-top: 8px;
  padding: 7px 9px;
  border: 1px solid #dce6f1;
  border-radius: 6px;
  background: rgba(255, 255, 255, .72);
}

.proof-header-formula a {
  min-width: 0;
  padding: 0 0 0 10px;
  border-left: 2px solid #cbd5e1;
  color: #334155;
  text-decoration: none;
}

.proof-header-formula a:last-child {
  border-left-color: #86efac;
}

.proof-header-formula a.result {
  color: #14532d;
}

.proof-header-formula span,
.proof-header-formula em,
.proof-header-formula strong {
  display: block;
}

.proof-header-formula span {
  color: inherit;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.3;
}

.proof-header-formula strong {
  margin-top: 3px;
  color: #0f172a;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.1;
}

.proof-header-formula strong.neg {
  color: #b91c1c;
}

.proof-header-formula em {
  overflow: hidden;
  margin-top: 2px;
  color: #64748b;
  font-size: 10px;
  font-style: normal;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.proof-drawer-body {
  display: grid;
  gap: 12px;
  min-height: 0;
  overflow: auto;
  padding: 10px 14px 16px;
}

.proof-section,
.proof-chart-card {
  min-width: 0;
  border: 1px solid #d6e2f0;
  border-radius: 8px;
  background: #fff;
}

.proof-section {
  padding: 13px;
}

.proof-section h4 {
  margin: 0 0 10px;
}

.proof-formula table td {
  border-bottom: 1px solid #e2e8f0;
  font-size: 13px;
  line-height: 1.35;
  overflow-wrap: anywhere;
  white-space: normal;
  vertical-align: top;
}

.proof-formula table td:first-child {
  width: 42%;
}

.proof-formula table td:last-child {
  max-width: 0;
  color: #334155;
  font-weight: 800;
  text-align: left;
}

.proof-formula table tr.result td {
  background: #f0fdf4;
  border-top: 2px solid #86efac;
  color: #14532d;
  font-weight: 900;
}

.proof-formula a {
  color: #0f172a;
  font-weight: 900;
  text-decoration: none;
}

.proof-formula em {
  display: block;
  margin-top: 3px;
  color: #64748b;
  font-size: 11.5px;
  font-style: normal;
  font-weight: 600;
}

.proof-chart-card {
  overflow: hidden;
}

.proof-graph-section .proof-chart-card {
  border: 0;
  border-radius: 0;
  background: transparent;
}

.proof-graph-section .proof-chart-head {
  padding: 0 0 8px;
}

.proof-graph-section .proof-chart-scroll {
  padding: 0;
}

.proof-chart-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 13px 8px;
}

.proof-chart-head strong {
  display: block;
  margin-top: 4px;
  color: #0f172a;
  font-size: 14px;
}

.proof-chart-legend {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.proof-chart-legend span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #475569;
  font-size: 11px;
  font-weight: 800;
}

.proof-chart-legend i {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: #16a34a;
}

.proof-chart-legend i.forecast { background: #2563eb; }
.proof-chart-legend i.negative { background: #dc2626; }
.proof-chart-legend i.selected {
  background: #22d3ee;
  box-shadow: 0 0 0 2px rgba(250, 204, 21, .35);
}

.proof-chart-scroll {
  overflow-x: auto;
  padding: 0 10px 8px 2px;
}

.proof-cash-chart {
  display: block;
  min-width: 100%;
  height: 285px;
  font-family: inherit;
}

.proof-cash-chart.compact-trend {
  height: 190px;
}

.product-proof-drawer .proof-drawer-header {
  padding: 10px 14px 9px;
}

.product-proof-drawer .proof-period {
  margin-top: 5px;
  font-size: 11px;
}

.product-proof-drawer .proof-drawer-header > strong {
  margin-top: 3px;
  font-size: 30px;
}

.product-proof-drawer .proof-drawer-header p {
  margin-top: 5px;
  font-size: 12px;
  max-width: 760px;
}

.product-proof-drawer .proof-header-formula {
  margin-top: 7px;
}

.product-proof-drawer .proof-header-formula a {
  padding: 5px 8px;
}

.product-proof-drawer .proof-header-formula strong {
  font-size: 13px;
}

.product-proof-drawer .proof-drawer-body {
  grid-template-columns: minmax(0, 1.1fr) minmax(300px, .9fr);
  align-content: start;
  gap: 10px;
  padding: 10px 10px 12px;
}

.product-proof-drawer .proof-section {
  padding: 10px 12px;
}

.product-proof-drawer .proof-section h4 {
  margin-bottom: 7px;
}

.product-proof-drawer .proof-chart-head {
  padding: 9px 10px 5px;
}

.product-proof-drawer .proof-chart-head strong {
  font-size: 12px;
}

.product-proof-drawer .proof-chart-legend span {
  font-size: 10px;
}

.product-proof-drawer .proof-chart-scroll {
  padding-bottom: 4px;
}

.product-proof-drawer .proof-graph-section {
  min-height: 300px;
}

.product-proof-drawer .proof-graph-section .proof-cash-chart {
  height: 250px;
}

.product-proof-drawer .proof-drawer-body > .proof-section:last-child {
  min-height: 300px;
}

.product-proof-drawer .proof-forecast-support {
  align-self: start;
}

.product-proof-drawer .proof-driver-actions {
  grid-template-columns: 1fr;
  gap: 5px;
}

.product-proof-drawer .proof-driver-action {
  padding: 7px 8px;
}

.product-proof-drawer .proof-driver-list {
  gap: 4px;
}

.product-proof-drawer .proof-driver-row {
  padding: 6px 8px;
}
.proof-source-section {
  align-self: start;
}
.proof-source-list {
  display: grid;
  gap: 8px;
}
.proof-source-card {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  border: 1px solid #d4e0ee;
  border-radius: 8px;
  background: #fbfdff;
  color: var(--ink);
  padding: 10px 11px;
  text-decoration: none;
  transition: border-color .14s ease, box-shadow .14s ease, transform .14s ease;
}
.proof-source-card:hover,
.proof-source-card:focus {
  border-color: color-mix(in srgb, var(--brand) 42%, #d4e0ee);
  box-shadow: 0 8px 18px rgba(30, 64, 120, .08);
  transform: translateY(-1px);
}
.proof-source-icon {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: #eef6ff;
  color: var(--brand);
  border: 1px solid #c9ddf7;
  font-size: 13px;
  font-weight: 950;
}
.proof-source-card span {
  display: block;
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .02em;
  line-height: 1.1;
  text-transform: uppercase;
}
.proof-source-card strong {
  color: var(--ink);
  font-size: 13px;
  line-height: 1.15;
}
.proof-source-card > strong {
  color: var(--brand-dark);
  font-size: 18px;
  text-align: right;
  white-space: nowrap;
}
.proof-source-card em {
  display: block;
  margin-top: 3px;
  color: #60728a;
  font-size: 11.5px;
  font-style: normal;
  line-height: 1.25;
}
.proof-source-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 7px;
}

.proof-cash-chart .gridline line {
  stroke: #e2e8f0;
  stroke-width: 1;
}

.proof-cash-chart .gridline text,
.proof-cash-chart .x-label,
.proof-cash-chart .x-basis {
  fill: #64748b;
  font-size: 11px;
  font-weight: 700;
}

.proof-cash-chart .axis {
  stroke: #94a3b8;
  stroke-width: 1.2;
}

.proof-cash-chart .zero {
  stroke: #0f172a;
  stroke-width: 1.2;
  stroke-dasharray: 4 4;
}

.proof-cash-chart polyline,
.proof-cash-chart .series-segment {
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.proof-cash-chart .actual-line { stroke: #16a34a; }
.proof-cash-chart .forecast-line {
  stroke: #16a34a;
  stroke-dasharray: 5 4;
}

.proof-cash-chart .negative-line {
  stroke: #dc2626;
}

.proof-cash-chart circle {
  fill: #16a34a;
  stroke: #fff;
  stroke-width: 2;
}

.proof-cash-chart .forecast circle { fill: #2563eb; }
.proof-cash-chart .negative circle { fill: #dc2626; }
.proof-cash-chart .selected circle {
  fill: #22d3ee;
  stroke: #0f172a;
  stroke-width: 2.5;
}

.proof-cash-chart .selected-line {
  stroke: #22d3ee;
  stroke-width: 2;
  stroke-dasharray: 5 4;
}

.proof-cash-chart .point-value {
  fill: #334155;
  font-size: 11px;
  font-weight: 900;
}

.proof-cash-chart .point-value.neg {
  fill: #b91c1c;
}

.proof-cash-chart .point-value.selected {
  fill: #0f172a;
  font-size: 12px;
}

.proof-table-scroll {
  overflow: auto;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
}

.proof-table-scroll table {
  min-width: 640px;
  margin: 0;
}

.proof-table-scroll.movement {
  max-height: 340px;
}

.proof-support-list {
  display: grid;
  gap: 5px;
  max-height: 280px;
  overflow: auto;
  padding-right: 2px;
}

.proof-support-table-wrap {
  max-height: 280px;
  overflow: auto;
  border: 1px solid #dbe4ef;
  border-radius: 7px;
  background: #fff;
}

.proof-support-table {
  width: 100%;
  min-width: 0;
  border-collapse: collapse;
  table-layout: auto;
  font-size: 11.5px;
}

.proof-support-table th,
.proof-support-table td {
  overflow: hidden;
  padding: 7px 8px;
  border-bottom: 1px solid #e2e8f0;
  color: #172033;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.proof-support-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: #f8fafc;
  color: #5b6b82;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}

.proof-support-table th {
  overflow: visible;
  position: sticky;
}

.proof-excel-filter-btn {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 5px;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: inherit;
  text-transform: inherit;
  cursor: pointer;
}

.proof-excel-filter-btn i {
  width: 13px;
  height: 13px;
  border: 1px solid #cbd5e1;
  border-radius: 3px;
  background: #fff;
  flex: 0 0 auto;
  position: relative;
}

.proof-excel-filter-btn i::after {
  content: "";
  position: absolute;
  left: 3px;
  top: 4px;
  border-left: 3.5px solid transparent;
  border-right: 3.5px solid transparent;
  border-top: 4px solid #64748b;
}

.proof-excel-filter-btn[data-dir="asc"] i::after {
  border-top: 0;
  border-bottom: 4px solid #2563eb;
}

.proof-excel-filter-btn[data-dir="desc"] i::after {
  border-top-color: #2563eb;
}

.proof-excel-filter-btn.filtered i {
  border-color: #2563eb;
  background: #eff6ff;
}

.proof-column-menu {
  position: absolute;
  top: calc(100% - 1px);
  left: 6px;
  z-index: 20;
  display: grid;
  gap: 4px;
  min-width: 210px;
  padding: 8px;
  border: 1px solid #cbd5e1;
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 14px 30px rgba(15, 23, 42, .16);
  color: #172033;
  text-transform: none;
}

.proof-column-menu button {
  width: 100%;
  padding: 6px 7px;
  border: 0;
  border-radius: 5px;
  background: transparent;
  color: #172033;
  font-size: 12px;
  font-weight: 650;
  text-align: left;
  cursor: pointer;
}

.proof-column-menu button:hover {
  background: #eff6ff;
}

.proof-column-filter-fields {
  display: grid;
  gap: 6px;
  margin-top: 4px;
  padding-top: 6px;
  border-top: 1px solid #e2e8f0;
}

.proof-column-filter-fields label {
  display: grid;
  gap: 3px;
  color: #64748b;
  font-size: 10.5px;
  font-weight: 750;
}

.proof-column-filter-fields input {
  width: 100%;
  height: 28px;
  padding: 4px 6px;
  border: 1px solid #d6e2f0;
  border-radius: 5px;
  background: #fff;
  color: #172033;
  font-size: 12px;
  font-weight: 500;
}

.proof-column-menu-actions {
  display: flex;
  justify-content: flex-end;
  gap: 6px;
  margin-top: 3px;
}

.proof-column-menu-actions button {
  width: auto;
  padding: 5px 8px;
  border: 1px solid #d6e2f0;
  background: #fff;
}

.proof-column-menu-actions button:last-child {
  border-color: #2563eb;
  background: #2563eb;
  color: #fff;
}

.proof-support-table th:nth-child(1),
.proof-support-table td:nth-child(1) {
  width: 1%;
  max-width: 88px;
}

.proof-support-table th:nth-child(2),
.proof-support-table td:nth-child(2) {
  width: 1%;
  max-width: 150px;
  font-weight: 650;
}

.proof-support-table th:nth-child(3),
.proof-support-table td:nth-child(3) {
  width: auto;
  min-width: 150px;
  max-width: 260px;
  line-height: 1.2;
  white-space: normal;
}

.proof-support-table th:nth-child(4),
.proof-support-table td:nth-child(4) {
  width: 1%;
  max-width: 120px;
}

.proof-support-table th:nth-child(5),
.proof-support-table td:nth-child(5) {
  width: auto;
  min-width: 120px;
  max-width: 210px;
  line-height: 1.2;
  white-space: normal;
}

.proof-support-table th:nth-child(6),
.proof-support-table td:nth-child(6) {
  width: 1%;
  max-width: 96px;
  font-weight: 750;
  text-align: right;
}

.proof-support-table[data-grouped-support="1"] th:nth-child(1),
.proof-support-table[data-grouped-support="1"] td:nth-child(1) {
  width: 54%;
  min-width: 240px;
}

.proof-support-table[data-grouped-support="1"] th:nth-child(2),
.proof-support-table[data-grouped-support="1"] td:nth-child(2) {
  width: 13%;
  min-width: 92px;
  max-width: 118px;
  font-weight: 650;
  text-align: right;
}

.proof-support-table[data-grouped-support="1"] th:nth-child(3),
.proof-support-table[data-grouped-support="1"] td:nth-child(3),
.proof-support-table[data-grouped-support="1"] th:nth-child(4),
.proof-support-table[data-grouped-support="1"] td:nth-child(4) {
  width: 16.5%;
  min-width: 112px;
  max-width: 138px;
  font-weight: 750;
  text-align: right;
}

.proof-support-table[data-grouped-support="1"] {
  table-layout: fixed;
}

.proof-support-group-row td {
  background: #fff;
  vertical-align: top;
}

.proof-support-group-row td:first-child {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
}

.proof-support-group-toggle {
  display: inline-grid;
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  place-items: center;
  border: 1px solid transparent;
  border-radius: 5px;
  background: transparent;
  color: #64748b;
  cursor: pointer;
}

.proof-support-group-toggle:hover,
.proof-support-group-row:hover .proof-support-group-toggle,
.proof-support-group-row:focus .proof-support-group-toggle {
  border-color: #bfdbfe;
  background: #eff6ff;
  color: #1d4ed8;
}

.proof-support-group-toggle i {
  width: 0;
  height: 0;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-left: 5px solid currentColor;
  transition: transform .14s ease;
}

.proof-support-group-row.expanded .proof-support-group-toggle i {
  transform: rotate(90deg);
}

.proof-support-group-title {
  min-width: 0;
}

.proof-support-group-row strong {
  display: block;
  overflow: hidden;
  color: #0f172a;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.proof-support-group-row em {
  display: block;
  overflow: hidden;
  margin-top: 2px;
  color: #64748b;
  font-size: 10.5px;
  font-style: normal;
  font-weight: 500;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.proof-support-group-detail > td {
  padding: 0 8px 8px;
  background: #f8fafc;
  white-space: normal;
}

.proof-support-group-detail table {
  width: 100%;
  border-collapse: collapse;
  table-layout: auto;
  border: 1px solid #e2e8f0;
  border-radius: 6px;
  overflow: hidden;
  background: #fff;
}

.proof-support-group-detail th,
.proof-support-group-detail td {
  overflow: hidden;
  padding: 5px 7px;
  border-bottom: 1px solid #e2e8f0;
  font-size: 10.5px;
  line-height: 1.2;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.proof-support-group-detail th {
  position: static;
  color: #64748b;
  background: #f8fafc;
}

.proof-support-group-detail th:nth-child(1),
.proof-support-group-detail td:nth-child(1) {
  width: 1%;
  max-width: 88px;
}
.proof-support-group-detail th:nth-child(2),
.proof-support-group-detail td:nth-child(2) {
  width: 1%;
  max-width: 112px;
}
.proof-support-group-detail th:nth-child(3),
.proof-support-group-detail td:nth-child(3) {
  width: auto;
  min-width: 180px;
  max-width: 300px;
  white-space: normal;
}
.proof-support-group-detail th:nth-child(4),
.proof-support-group-detail td:nth-child(4) {
  width: auto;
  min-width: 130px;
  max-width: 220px;
  white-space: normal;
}
.proof-support-group-detail th:nth-child(5),
.proof-support-group-detail td:nth-child(5) {
  width: 1%;
  max-width: 96px;
  font-weight: 750;
  text-align: right;
}

.proof-support-table tbody tr {
  cursor: pointer;
}

.proof-support-table tbody tr:hover,
.proof-support-table tbody tr:focus {
  background: #eff6ff;
  outline: none;
}

.proof-support-table td.pos {
  color: #047857;
}

.proof-support-table td.neg {
  color: #b91c1c;
}

.proof-support-row {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  min-width: 0;
  padding: 7px 9px;
  border: 1px solid #dbe4ef;
  border-radius: 7px;
  background: #fbfdff;
  color: #172033;
  text-decoration: none;
}

.proof-support-row:hover {
  border-color: #93c5fd;
  background: #eff6ff;
}

.proof-support-row time {
  color: #475569;
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}

.proof-support-row div {
  min-width: 0;
}

.proof-support-row strong,
.proof-support-row span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.proof-support-row strong {
  color: #0f172a;
  font-size: 12px;
  line-height: 1.2;
}

.proof-support-row span {
  margin-top: 2px;
  color: #64748b;
  font-size: 11px;
  line-height: 1.2;
}

.proof-support-row b {
  color: #047857;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

.proof-support-row b.neg {
  color: #b91c1c;
}

.proof-support-summary {
  display: grid;
  gap: 0;
  margin-top: 8px;
  padding: 6px 9px;
  border-radius: 7px;
  background: #f1f5f9;
  color: #334155;
  font-size: 12px;
}

.proof-support-summary-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  min-height: 22px;
}

.proof-support-summary-row + .proof-support-summary-row {
  border-top: 1px solid rgba(148, 163, 184, .22);
}

.proof-support-summary-row.result {
  margin-top: 3px;
  padding-top: 5px;
  border-top: 2px solid #94a3b8;
}

.proof-support-summary .label {
  font-weight: 700;
}

.proof-support-summary strong {
  color: #0f172a;
  font-variant-numeric: tabular-nums;
  text-align: right;
}

.proof-support-summary strong.neg {
  color: #b91c1c;
}

.cash-popup-support-list {
  max-height: calc(100vh - 250px);
}

.proof-support-empty {
  padding: 10px;
}

.proof-section-headline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 9px;
}

.proof-section-headline h4 {
  margin: 0;
}

.proof-section-headline span {
  color: #64748b;
  font-size: 11px;
  font-weight: 800;
}

.proof-forecast-support {
  padding: 10px;
}

.proof-driver-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 9px;
}

.proof-driver-action,
.proof-driver-row {
  min-width: 0;
  border: 1px solid #d7e2ef;
  border-radius: 7px;
  background: #fbfdff;
  color: #172033;
  text-decoration: none;
}

.proof-driver-action {
  display: block;
  padding: 8px 9px;
}

.proof-driver-action strong,
.proof-driver-action span,
.proof-driver-row strong,
.proof-driver-row span {
  display: block;
}

.proof-driver-action strong {
  color: #0f172a;
  font-size: 12px;
  line-height: 1.2;
}

.proof-driver-action span {
  margin-top: 3px;
  color: #64748b;
  font-size: 11px;
  line-height: 1.25;
}

.proof-driver-list {
  display: grid;
  gap: 5px;
}

.proof-driver-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 7px 9px;
}

.proof-driver-row strong {
  overflow: hidden;
  color: #0f172a;
  font-size: 12px;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.proof-driver-row span {
  overflow: hidden;
  margin-top: 2px;
  color: #64748b;
  font-size: 11px;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.proof-driver-row b {
  color: #047857;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

.proof-driver-row b.neg {
  color: #b91c1c;
}

.forecast-edit-focus {
  outline: 2px solid #2563eb;
  outline-offset: 3px;
  box-shadow: 0 0 0 6px rgba(37, 99, 235, .12);
}

.forecast-edit-cell-focus {
  box-shadow: 0 0 0 2px #2563eb inset;
}

.proof-evidence-table th,
.proof-evidence-table td,
.proof-movement-table th,
.proof-movement-table td {
  font-size: 12px;
  vertical-align: top;
}

.proof-movement-table tfoot td {
  position: sticky;
  bottom: 0;
  background: #f8fafc;
  border-top: 1px solid #cbd5e1;
  font-weight: 900;
}

.proof-open-tx {
  cursor: pointer;
}

.proof-open-tx:hover td {
  background: #eff6ff;
}

.proof-checklist {
  display: grid;
  gap: 8px;
}

.proof-check {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 9px;
  align-items: start;
  padding: 9px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #fbfdff;
}

.proof-check i {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: #dbeafe;
  color: #1d4ed8;
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
}

.proof-check.pass i {
  background: #dcfce7;
  color: #166534;
}

.proof-check.warn i {
  background: #e0f7ff;
  color: #075985;
}

.proof-check.fail i {
  background: #fee2e2;
  color: #991b1b;
}

.proof-check strong {
  display: block;
  color: #0f172a;
  font-size: 13px;
  line-height: 1.2;
}

.proof-check span {
  display: block;
  margin-top: 3px;
  color: #64748b;
  font-size: 12px;
  line-height: 1.35;
}

.proof-drawer-footer {
  position: sticky;
  bottom: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  padding: 12px 16px;
  border-top: 1px solid #dbe4ef;
  background: rgba(255, 255, 255, .96);
  backdrop-filter: blur(8px);
}

html[data-theme="dark"] .dashboard-proof-source-active {
  background: #423711 !important;
  outline-color: #22d3ee;
}

html[data-theme="dark"] .proof-drawer {
  background: #0f172a;
  border-color: #263a57;
}

html[data-theme="dark"] .proof-drawer-header,
html[data-theme="dark"] .proof-section,
html[data-theme="dark"] .proof-chart-card,
html[data-theme="dark"] .proof-check,
html[data-theme="dark"] .proof-drawer-footer,
html[data-theme="dark"] .proof-header-formula,
html[data-theme="dark"] .proof-header-formula a,
html[data-theme="dark"] .proof-driver-action,
html[data-theme="dark"] .proof-driver-row,
html[data-theme="dark"] .proof-support-row,
html[data-theme="dark"] .proof-support-table-wrap,
html[data-theme="dark"] .proof-support-summary {
  background: #101927;
  border-color: #263a57;
}

html[data-theme="dark"] .proof-support-table th {
  background: #162338;
  color: #9fb0c7;
}

html[data-theme="dark"] .proof-excel-filter-btn i,
html[data-theme="dark"] .proof-column-menu,
html[data-theme="dark"] .proof-column-filter-fields input,
html[data-theme="dark"] .proof-column-menu-actions button {
  background: #101927;
  border-color: #263a57;
  color: #d9e4f2;
}

html[data-theme="dark"] .proof-column-menu button {
  color: #d9e4f2;
}

html[data-theme="dark"] .proof-column-menu button:hover {
  background: #172b47;
}

html[data-theme="dark"] .proof-column-filter-fields {
  border-color: #263a57;
}

html[data-theme="dark"] .proof-column-menu-actions button:last-child {
  background: #2563eb;
  border-color: #2563eb;
  color: #fff;
}

html[data-theme="dark"] .proof-support-table td {
  border-color: #263a57;
  color: #d9e4f2;
}

html[data-theme="dark"] .proof-support-table tbody tr:hover,
html[data-theme="dark"] .proof-support-table tbody tr:focus {
  background: #172b47;
}

html[data-theme="dark"] .proof-header-formula a.result {
  background: #123321;
  border-color: #1f8f4d;
}

html[data-theme="dark"] .proof-drawer-header strong,
html[data-theme="dark"] .proof-chart-head strong,
html[data-theme="dark"] .proof-check strong,
html[data-theme="dark"] .proof-header-formula strong,
html[data-theme="dark"] .proof-driver-action strong,
html[data-theme="dark"] .proof-driver-row strong,
html[data-theme="dark"] .proof-support-row strong,
html[data-theme="dark"] .proof-support-summary strong,
html[data-theme="dark"] .proof-formula a {
  color: #e5edf7;
}

html[data-theme="dark"] .proof-drawer-header p,
html[data-theme="dark"] .proof-period,
html[data-theme="dark"] .proof-check span,
html[data-theme="dark"] .proof-header-formula span,
html[data-theme="dark"] .proof-header-formula em,
html[data-theme="dark"] .proof-section-headline span,
html[data-theme="dark"] .proof-driver-action span,
html[data-theme="dark"] .proof-driver-row span,
html[data-theme="dark"] .proof-support-row time,
html[data-theme="dark"] .proof-support-row span,
html[data-theme="dark"] .proof-formula em {
  color: #9fb0c7;
}

@media (max-width: 760px) {
  .proof-drawer {
    width: 100vw;
  }
  .proof-drawer-header {
    padding: 14px 12px 12px;
  }
  .proof-header-formula {
    flex-direction: column;
  }
  .proof-driver-actions {
    grid-template-columns: 1fr;
  }
  .product-proof-drawer .proof-drawer-body {
    grid-template-columns: 1fr;
  }
  .proof-support-row {
    grid-template-columns: 68px minmax(0, 1fr);
  }
  .proof-support-row b {
    grid-column: 2;
    justify-self: start;
  }
  .proof-header-formula a {
    border-right: 0;
    border-bottom: 1px solid #e3ebf4;
  }
  .proof-header-formula a:last-child {
    border-bottom: 0;
  }
  .proof-drawer-body {
    padding: 12px;
  }
  .proof-drawer-footer {
    justify-content: stretch;
  }
  .proof-drawer-footer .btn {
    flex: 1 1 45%;
  }
}

.metric-focus-readiness {
  gap: 8px;
}

.metric-focus-readiness .metric-story-hero {
  padding: 10px 12px;
}

.metric-focus-readiness .metric-story-hero strong {
  font-size: 24px;
}

.metric-focus-readiness .metric-story-hero em {
  margin-top: 5px;
  font-size: 12px;
  line-height: 1.32;
}

.readiness-command {
  display: grid;
  gap: 8px;
}

.metric-focus-readiness > .metric-story-hero {
  display: none;
}

.readiness-command-head,
.readiness-command-body,
.readiness-bridge,
.readiness-rules {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.readiness-command-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 190px;
  gap: 10px;
  align-items: center;
  border-left: 5px solid var(--red);
  padding: 10px 12px;
}

.readiness-command.warn .readiness-command-head {
  border-left-color: var(--amber);
}

.readiness-command.pos .readiness-command-head {
  border-left-color: var(--green);
}

.readiness-command-head span,
.readiness-bridge-head span,
.readiness-rules > span,
.readiness-command-stats span,
.readiness-bridge-row span,
.readiness-bridge-checkpoints span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.readiness-command-head strong {
  display: block;
  margin-top: 3px;
  color: var(--ink);
  font-size: 26px;
  line-height: 1;
}

.readiness-command-head em {
  display: block;
  margin-top: 5px;
  color: #334155;
  font-size: 12px;
  font-style: normal;
  line-height: 1.3;
}

.readiness-equation-strip {
  border: 1px solid rgba(31,111,235,.22);
  border-radius: 8px;
  background: linear-gradient(180deg, #f8fbff 0%, #fff 100%);
  padding: 10px;
  display: grid;
  grid-template-columns: minmax(220px, 1.2fr) minmax(120px, .7fr) 18px minmax(120px, .7fr) 18px minmax(120px, .7fr);
  gap: 8px;
  align-items: stretch;
}

.readiness-equation-title,
.readiness-equation-strip a {
  min-width: 0;
  border: 1px solid #dbe5f1;
  border-radius: 7px;
  background: #fff;
  padding: 9px 10px;
  text-decoration: none;
  color: inherit;
}

.readiness-equation-title {
  border-left: 4px solid var(--brand);
}

.readiness-equation-strip a.neg {
  border-left: 4px solid var(--red);
}

.readiness-equation-strip a.pos {
  border-left: 4px solid var(--green);
}

.readiness-equation-strip b {
  align-self: center;
  justify-self: center;
  color: var(--muted);
  font-size: 18px;
}

.readiness-equation-strip span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.readiness-equation-strip strong {
  display: block;
  margin-top: 4px;
  color: var(--ink);
  font-size: 18px;
  line-height: 1.05;
}

.readiness-equation-title strong {
  font-size: 20px;
}

.readiness-equation-strip em {
  display: block;
  margin-top: 5px;
  color: #475569;
  font-size: 11px;
  font-style: normal;
  line-height: 1.25;
}

.readiness-equation-strip a:hover {
  border-color: var(--brand);
  background: #f8fbff;
}

.readiness-command-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}

.readiness-command-stats a,
.readiness-bridge-checkpoints a {
  min-width: 0;
  border: 1px solid #dbe5f1;
  border-radius: 7px;
  background: #fbfdff;
  color: inherit;
  padding: 7px 8px;
  text-decoration: none;
}

.readiness-command-stats strong,
.readiness-bridge-checkpoints strong {
  display: block;
  margin-top: 3px;
  color: var(--ink);
  font-size: 13px;
  line-height: 1.15;
}

.readiness-command-stats a.warn {
  border-left: 4px solid var(--amber);
}

.readiness-command-stats a.neg {
  border-left: 4px solid var(--red);
}

.readiness-command-stats a.pos {
  border-left: 4px solid var(--green);
}

.readiness-command-verdict {
  justify-self: end;
  min-width: 180px;
  border: 1px solid #fecaca;
  border-radius: 8px;
  background: linear-gradient(135deg, #fff, #fff5f5);
  padding: 8px 10px;
}

.readiness-command-verdict span,
.readiness-coverage-head span,
.readiness-coverage-label span,
.readiness-trigger-strip span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.readiness-command-verdict strong {
  display: block;
  margin-top: 3px;
  color: var(--red);
  font-size: 21px;
  line-height: 1;
}

.readiness-command-verdict em {
  display: block;
  margin-top: 5px;
  color: #7f1d1d;
  font-size: 10.5px;
  font-style: normal;
  font-weight: 800;
}

.readiness-command-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 8px;
  border: 0;
  background: transparent;
}

.readiness-collision {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  padding: 10px 12px;
}

.readiness-growth {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  padding: 10px 12px;
}

.readiness-growth-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: baseline;
  margin-bottom: 8px;
}

.readiness-growth-head span,
.growth-capacity-panel > span,
.growth-funding-ladder > span,
.growth-product-load > span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.readiness-growth-head strong {
  display: block;
  margin-top: 2px;
  color: var(--ink);
  font-size: 17px;
  line-height: 1.1;
}

.readiness-growth-head em {
  color: #475569;
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
}

.readiness-growth-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 190px;
  gap: 8px;
}

.growth-operating-map {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  overflow: hidden;
  border: 1px solid #dbe5f1;
  border-radius: 8px;
  background: #f8fbff;
}

.growth-gate {
  position: relative;
  display: grid;
  gap: 5px;
  min-width: 0;
  border-right: 1px solid #dbe5f1;
  border-top: 4px solid var(--green);
  color: inherit;
  padding: 10px 11px;
  text-decoration: none;
}

.growth-gate:last-child {
  border-right: 0;
}

.growth-gate.warn {
  border-top-color: var(--amber);
}

.growth-gate.neg {
  border-top-color: var(--red);
}

.growth-gate span,
.growth-stress-board > span,
.growth-fix-panel > span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.growth-gate strong {
  color: var(--ink);
  font-size: 18px;
  line-height: 1;
}

.growth-gate.neg strong {
  color: var(--red);
}

.growth-gate.pos strong {
  color: var(--green);
}

.growth-gate em {
  color: #64748b;
  font-size: 10.5px;
  font-style: normal;
  line-height: 1.25;
}

.growth-mini-pnl {
  display: grid;
  gap: 7px;
  margin-top: 8px;
  border: 1px solid #dbe5f1;
  border-radius: 8px;
  background: #fbfdff;
  padding: 9px;
}

.growth-mini-pnl-head {
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr);
  gap: 8px;
  align-items: baseline;
}

.growth-mini-pnl-head span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.growth-mini-pnl-head strong {
  color: var(--ink);
  font-size: 14px;
}

.growth-mini-pnl-head em {
  color: #64748b;
  font-size: 10.5px;
  font-style: normal;
}

.growth-mini-pnl-rows {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid #e6edf6;
  border-radius: 8px;
  background: #fff;
}

.growth-mini-pnl-rows a {
  display: grid;
  gap: 4px;
  min-width: 0;
  border-right: 1px solid #e6edf6;
  color: inherit;
  padding: 8px;
  text-decoration: none;
}

.growth-mini-pnl-rows a:last-child {
  border-right: 0;
}

.growth-mini-pnl-rows span {
  color: var(--muted);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .03em;
  text-transform: uppercase;
  white-space: normal;
}

.growth-mini-pnl-rows strong {
  overflow: hidden;
  color: var(--ink);
  font-size: 14px;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.growth-mini-pnl-rows .pos strong {
  color: var(--green);
}

.growth-mini-pnl-rows .neg strong {
  color: var(--red);
}

.growth-mini-pnl-rows .warn strong {
  color: var(--amber);
}

.growth-mini-pnl-rows em {
  color: #64748b;
  font-size: 9px;
  font-style: normal;
  line-height: 1.15;
  white-space: normal;
}

.growth-scenario-lanes {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
}

.growth-lane {
  display: grid;
  gap: 5px;
  min-width: 0;
  border: 1px solid #dbe5f1;
  border-top: 4px solid var(--green);
  border-radius: 8px;
  background: #fbfdff;
  color: inherit;
  padding: 9px;
  text-decoration: none;
}

.growth-lane.warn {
  border-top-color: var(--amber);
}

.growth-lane.neg {
  border-top-color: var(--red);
}

.growth-lane span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.growth-lane b {
  color: var(--ink);
  font-size: 15px;
  line-height: 1;
}

.growth-lane-rail {
  height: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: #e6edf6;
}

.growth-lane-rail i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--green);
}

.growth-lane.warn .growth-lane-rail i {
  background: var(--amber);
}

.growth-lane.neg .growth-lane-rail i {
  background: var(--red);
}

.growth-lane strong {
  color: var(--red);
  font-size: 16px;
  line-height: 1;
}

.growth-lane.pos strong {
  color: var(--green);
}

.growth-lane em {
  color: #64748b;
  font-size: 10.5px;
  font-style: normal;
  font-weight: 800;
}

.growth-capacity-panel {
  display: grid;
  gap: 7px;
  justify-items: center;
  min-width: 0;
  border: 1px solid #dbe5f1;
  border-radius: 8px;
  background: #fbfdff;
  padding: 9px;
  text-align: center;
}

.growth-capacity-panel > strong {
  color: var(--ink);
  font-size: 26px;
  line-height: 1;
}

.growth-capacity-ring {
  display: grid;
  place-items: center;
  width: 76px;
  height: 76px;
  border-radius: 999px;
  background: conic-gradient(var(--green) 0 var(--load), #e6edf6 var(--load) 100%);
}

.growth-capacity-ring i {
  width: 54px;
  height: 54px;
  border-radius: inherit;
  background: #fff;
}

.growth-capacity-panel em {
  color: #64748b;
  font-size: 10px;
  font-style: normal;
  line-height: 1.25;
}

.readiness-growth-lower {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(270px, .95fr);
  gap: 8px;
  margin-top: 8px;
}

.growth-funding-ladder,
.growth-product-load,
.growth-stress-board,
.growth-fix-panel {
  display: grid;
  gap: 6px;
  min-width: 0;
  border: 1px solid #dbe5f1;
  border-radius: 8px;
  background: #fbfdff;
  padding: 9px;
}

.growth-funding-ladder a,
.growth-product-load a,
.growth-stress-board a {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr) auto;
  gap: 7px;
  align-items: center;
  min-width: 0;
  color: inherit;
  text-decoration: none;
}

.growth-funding-ladder b,
.growth-product-load b,
.growth-stress-board b,
.growth-fix-panel b {
  overflow: hidden;
  color: var(--ink);
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.growth-funding-ladder div {
  height: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: #e6edf6;
}

.growth-funding-ladder i,
.growth-stress-board i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--red);
}

.growth-funding-ladder .pos i,
.growth-stress-board .pos i {
  background: var(--green);
}

.growth-funding-ladder strong,
.growth-product-load strong,
.growth-stress-board strong,
.growth-fix-panel strong {
  color: var(--red);
  font-size: 12px;
}

.growth-funding-ladder .pos strong,
.growth-stress-board .pos strong,
.growth-fix-panel .pos strong {
  color: var(--green);
}

.growth-stress-board a {
  grid-template-columns: 78px minmax(0, 1fr) 145px;
  border-top: 1px solid #e6edf6;
  padding-top: 6px;
}

.growth-stress-board span + a {
  border-top: 0;
}

.growth-stress-board div {
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: #e6edf6;
}

.growth-stress-board em {
  grid-column: 1 / -1;
  color: #64748b;
  font-size: 10px;
  font-style: normal;
}

.growth-fix-panel a {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px 8px;
  border-top: 1px solid #e6edf6;
  color: inherit;
  padding-top: 6px;
  text-decoration: none;
}

.growth-fix-panel span + a {
  border-top: 0;
}

.growth-fix-panel em {
  grid-column: 1 / -1;
  color: #64748b;
  font-size: 10px;
  font-style: normal;
  line-height: 1.25;
}

.growth-product-load a {
  grid-template-columns: minmax(0, 1fr) auto;
  border-top: 1px solid #e6edf6;
  padding-top: 5px;
}

.growth-product-load span + a {
  border-top: 0;
  padding-top: 0;
}

.growth-product-load em {
  grid-column: 1 / -1;
  color: #64748b;
  font-size: 10px;
  font-style: normal;
}

.readiness-collision-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: baseline;
  margin-bottom: 8px;
}

.readiness-collision-head span,
.readiness-peak-card > span,
.readiness-turn-green > span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.readiness-collision-head strong {
  display: block;
  margin-top: 2px;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.1;
}

.readiness-collision-head em {
  color: #475569;
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
}

.readiness-collision-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 210px;
  gap: 8px;
  align-items: stretch;
}

.readiness-timeline-card,
.readiness-peak-card {
  min-width: 0;
  border: 1px solid #dbe5f1;
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .92), rgba(248, 251, 255, .94)),
    repeating-linear-gradient(90deg, transparent, transparent 54px, rgba(148, 163, 184, .18) 55px);
}

.readiness-timeline-card {
  min-height: 224px;
  padding: 4px 8px 2px;
}

.readiness-timeline-svg {
  display: block;
  width: 100%;
  height: 224px;
}

.readiness-timeline-svg .floor {
  stroke: #94a3b8;
  stroke-dasharray: 5 5;
  stroke-width: 2;
}

.readiness-timeline-svg .floor-label,
.readiness-timeline-svg .callout text {
  fill: #475569;
  font-size: 12px;
  font-weight: 800;
}

.readiness-timeline-svg .cash-path {
  fill: none;
  stroke: url(#cashLineGrad);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 5;
}

.readiness-timeline-svg circle {
  stroke: #fff;
  stroke-width: 2;
}

.readiness-timeline-svg circle.ok {
  fill: var(--green);
}

.readiness-timeline-svg circle.breach {
  fill: var(--red);
}

.readiness-timeline-svg .callout line {
  stroke-width: 2;
  stroke-dasharray: 4 4;
}

.readiness-timeline-svg .callout.first line {
  stroke: var(--amber);
}

.readiness-timeline-svg .callout.peak line {
  stroke: var(--red);
}

.readiness-timeline-svg .callout.peak text {
  fill: var(--red);
}

.readiness-peak-card {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  gap: 6px;
  padding: 10px;
}

.readiness-peak-card > strong {
  color: var(--red);
  font-size: 22px;
  line-height: 1;
}

.readiness-driver-stack {
  display: grid;
  gap: 6px;
  align-content: start;
}

.readiness-driver-slice {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  min-width: 0;
  overflow: hidden;
  border: 1px solid #fecaca;
  border-radius: 7px;
  background: #fff7f7;
  color: var(--ink);
  padding: 7px 8px;
  text-decoration: none;
}

.readiness-driver-slice::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: var(--slice);
  background: linear-gradient(90deg, rgba(248, 113, 113, .28), rgba(201, 53, 50, .2));
  pointer-events: none;
}

.readiness-driver-slice b,
.readiness-driver-slice em {
  position: relative;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.readiness-driver-slice b {
  font-size: 10px;
  text-transform: uppercase;
}

.readiness-driver-slice em {
  color: var(--red);
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
}

.readiness-turn-green {
  display: grid;
  grid-template-columns: auto repeat(3, minmax(0, 1fr));
  gap: 6px;
  align-items: center;
  margin-top: 8px;
}

.readiness-turn-green > span {
  padding-right: 4px;
}

.readiness-move {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 3px 6px;
  align-items: center;
  min-width: 0;
  border: 1px solid #dbe5f1;
  border-radius: 8px;
  background: #fbfdff;
  color: inherit;
  padding: 7px;
  text-decoration: none;
}

.readiness-move i {
  display: inline-grid;
  grid-row: span 3;
  place-items: center;
  width: 20px;
  height: 20px;
  border-radius: 999px;
  background: var(--red-bg);
  color: var(--red);
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
}

.readiness-move b {
  overflow: hidden;
  color: var(--ink);
  font-size: 11px;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.readiness-move div {
  height: 6px;
  overflow: hidden;
  border-radius: 999px;
  background: #e6edf6;
}

.readiness-move u {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #f87171, #c93532);
  text-decoration: none;
}

.readiness-move strong {
  overflow: hidden;
  color: #475569;
  font-size: 10px;
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.readiness-coverage {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  padding: 11px 12px;
}

.readiness-coverage-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 8px;
  align-items: baseline;
  margin-bottom: 10px;
}

.readiness-coverage-head strong {
  color: var(--red);
  font-size: 24px;
  line-height: 1;
}

.readiness-coverage-head em {
  color: #475569;
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
}

.readiness-coverage-map {
  display: grid;
  gap: 8px;
}

.readiness-coverage-row {
  display: grid;
  grid-template-columns: 176px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
}

.readiness-coverage-label strong {
  display: block;
  margin-top: 3px;
  color: var(--ink);
  font-size: 17px;
  line-height: 1;
}

.readiness-coverage-row.source .readiness-coverage-label strong {
  color: var(--green);
}

.readiness-coverage-row.gap .readiness-coverage-label strong {
  color: var(--red);
}

.readiness-coverage-track,
.readiness-gap-track {
  position: relative;
  display: flex;
  height: 58px;
  overflow: hidden;
  border: 1px solid #dbe5f1;
  border-radius: 8px;
  background: #eef3f9;
}

.readiness-coverage-segment {
  display: grid;
  min-width: 18px;
  align-content: center;
  gap: 2px;
  overflow: hidden;
  border-right: 1px solid rgba(255, 255, 255, .56);
  color: #fff;
  padding: 6px 8px;
  text-decoration: none;
}

.readiness-coverage-segment.source {
  background: linear-gradient(135deg, #10845f, #39a376);
}

.readiness-coverage-segment.use {
  background: linear-gradient(135deg, #c93532, #e36b63);
}

.readiness-coverage-segment span {
  overflow: hidden;
  font-size: 9.5px;
  font-weight: 900;
  letter-spacing: .03em;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.readiness-coverage-segment strong {
  overflow: hidden;
  font-size: 13px;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.readiness-gap-track {
  height: 32px;
}

.readiness-gap-track i {
  display: block;
}

.readiness-gap-track .covered {
  background: repeating-linear-gradient(45deg, rgba(21, 136, 93, .2), rgba(21, 136, 93, .2) 8px, rgba(21, 136, 93, .34) 8px, rgba(21, 136, 93, .34) 16px);
}

.readiness-gap-track .gap {
  background: linear-gradient(90deg, #f87171, #c93532);
  box-shadow: inset 10px 0 0 rgba(255, 255, 255, .28);
}

.readiness-trigger-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
  margin-top: 10px;
}

.readiness-trigger-strip a {
  display: grid;
  gap: 3px;
  min-width: 0;
  border: 1px solid #dbe5f1;
  border-left: 4px solid #dbe5f1;
  border-radius: 7px;
  background: #fbfdff;
  color: inherit;
  padding: 8px 9px;
  text-decoration: none;
}

.readiness-trigger-strip a.neg {
  border-left-color: var(--red);
}

.readiness-trigger-strip strong {
  color: var(--ink);
  font-size: 14px;
}

.readiness-trigger-strip em {
  color: #64748b;
  font-size: 10px;
  font-style: normal;
}

.readiness-bridge {
  padding: 10px 12px;
}

.readiness-bridge-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 8px;
  align-items: baseline;
  margin-bottom: 8px;
}

.readiness-bridge-head strong {
  color: var(--red);
  font-size: 18px;
  line-height: 1;
}

.readiness-bridge-head em {
  color: var(--muted);
  font-size: 10.5px;
  font-style: normal;
  font-weight: 800;
}

.readiness-waterfall {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
}

.readiness-waterfall-step,
.readiness-waterfall-result {
  display: grid;
  gap: 4px;
  align-content: start;
  min-width: 0;
  border: 1px solid #dbe5f1;
  border-radius: 7px;
  background: #fbfdff;
  color: inherit;
  padding: 8px 9px;
  text-decoration: none;
}

.readiness-waterfall-step {
  position: relative;
  border-top: 4px solid var(--green);
}

.readiness-waterfall-step.neg {
  border-top-color: var(--red);
}

.readiness-waterfall-step.warn {
  border-top-color: var(--amber);
}

.readiness-waterfall-step > i {
  display: inline-grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border-radius: 999px;
  background: var(--green-bg);
  color: var(--green);
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
}

.readiness-waterfall-step.neg > i {
  background: var(--red-bg);
  color: var(--red);
}

.readiness-waterfall-step span,
.readiness-waterfall-result span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.readiness-waterfall-step strong,
.readiness-waterfall-result strong {
  color: var(--ink);
  font-size: 15px;
  line-height: 1.1;
}

.readiness-waterfall-step.neg strong,
.readiness-waterfall-result strong {
  color: var(--red);
}

.readiness-waterfall-step.pos strong {
  color: var(--green);
}

.readiness-waterfall-step em,
.readiness-waterfall-result em {
  color: #64748b;
  font-size: 10px;
  font-style: normal;
  line-height: 1.18;
}

.readiness-waterfall-result {
  border: 2px solid var(--red);
  background: var(--red-bg);
}

.readiness-bridge-checkpoints {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin-top: 8px;
}

.readiness-bridge-checkpoints a.neg {
  border-left: 4px solid var(--red);
}

.readiness-rules {
  display: grid;
  gap: 5px;
  align-content: start;
  padding: 10px;
}

.readiness-rules a {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 4px 7px;
  align-items: start;
  border: 1px solid #dbe5f1;
  border-radius: 7px;
  background: #fbfdff;
  color: inherit;
  padding: 7px 8px;
  text-decoration: none;
}

.readiness-rules a.compact {
  padding: 6px 7px;
  opacity: .9;
}

.readiness-rules i {
  display: inline-grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border-radius: 999px;
  background: #e8eef7;
  color: var(--muted);
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
}

.readiness-rules a.neg i {
  background: var(--red-bg);
  color: var(--red);
}

.readiness-rules a.warn i {
  background: var(--amber-bg);
  color: var(--amber);
}

.readiness-rules a.pos i {
  background: var(--green-bg);
  color: var(--green);
}

.readiness-rules b {
  color: var(--ink);
  font-size: 11px;
  line-height: 1.15;
}

.readiness-rules strong {
  grid-column: 2;
  color: #475569;
  font-size: 10.5px;
  line-height: 1.2;
}

.readiness-rules-sub {
  margin-top: 5px;
}

.readiness-command-stats a:hover,
.readiness-waterfall-step:hover,
.readiness-bridge-checkpoints a:hover,
.readiness-rules a:hover {
  border-color: #93b7ec;
  background: #f8fbff;
}

html[data-theme="dark"] .readiness-command-head,
html[data-theme="dark"] .readiness-equation-strip,
html[data-theme="dark"] .readiness-equation-title,
html[data-theme="dark"] .readiness-equation-strip a,
html[data-theme="dark"] .readiness-growth,
html[data-theme="dark"] .growth-operating-map,
html[data-theme="dark"] .growth-mini-pnl,
html[data-theme="dark"] .growth-mini-pnl-rows,
html[data-theme="dark"] .growth-lane,
html[data-theme="dark"] .growth-gate,
html[data-theme="dark"] .growth-capacity-panel,
html[data-theme="dark"] .growth-funding-ladder,
html[data-theme="dark"] .growth-product-load,
html[data-theme="dark"] .growth-stress-board,
html[data-theme="dark"] .growth-fix-panel,
html[data-theme="dark"] .readiness-collision,
html[data-theme="dark"] .readiness-timeline-card,
html[data-theme="dark"] .readiness-peak-card,
html[data-theme="dark"] .readiness-move,
html[data-theme="dark"] .readiness-coverage,
html[data-theme="dark"] .readiness-bridge,
html[data-theme="dark"] .readiness-rules,
html[data-theme="dark"] .readiness-command-verdict,
html[data-theme="dark"] .readiness-command-stats a,
html[data-theme="dark"] .readiness-trigger-strip a,
html[data-theme="dark"] .readiness-waterfall-step,
html[data-theme="dark"] .readiness-bridge-checkpoints a,
html[data-theme="dark"] .readiness-rules a {
  background: #101927;
  border-color: #263a57;
}

html[data-theme="dark"] .readiness-equation-strip {
  background: #0d1725;
}

html[data-theme="dark"] .readiness-command-head em,
html[data-theme="dark"] .readiness-equation-strip em,
html[data-theme="dark"] .readiness-growth-head em,
html[data-theme="dark"] .growth-lane em,
html[data-theme="dark"] .growth-gate em,
html[data-theme="dark"] .growth-mini-pnl-head em,
html[data-theme="dark"] .growth-mini-pnl-rows em,
html[data-theme="dark"] .growth-capacity-panel em,
html[data-theme="dark"] .growth-product-load em,
html[data-theme="dark"] .growth-stress-board em,
html[data-theme="dark"] .growth-fix-panel em,
html[data-theme="dark"] .readiness-collision-head em,
html[data-theme="dark"] .readiness-coverage-head em,
html[data-theme="dark"] .readiness-waterfall-step em,
html[data-theme="dark"] .readiness-rules strong,
html[data-theme="dark"] .readiness-move strong {
  color: #9fb0c7;
}

html[data-theme="dark"] .readiness-timeline-svg .floor-label,
html[data-theme="dark"] .readiness-timeline-svg .callout text {
  fill: #9fb0c7;
}

html[data-theme="dark"] .growth-capacity-ring i {
  background: #101927;
}

@media (max-width: 1180px) {
  .readiness-command-head,
  .readiness-equation-strip,
  .readiness-command-body,
  .readiness-growth-head,
  .readiness-growth-grid,
  .readiness-growth-lower,
  .growth-operating-map,
  .growth-mini-pnl-head,
  .growth-mini-pnl-rows,
  .readiness-collision-head,
  .readiness-collision-grid,
  .readiness-turn-green,
  .readiness-coverage-head,
  .readiness-coverage-row,
  .readiness-waterfall,
  .readiness-bridge-checkpoints {
    grid-template-columns: 1fr;
  }

  .readiness-equation-strip b {
    display: none;
  }

  .readiness-command-verdict {
    justify-self: stretch;
  }

  .growth-scenario-lanes {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .growth-operating-map {
    border-radius: 8px;
  }

  .growth-gate {
    border-right: 0;
    border-bottom: 1px solid #dbe5f1;
  }
}

.readiness-diagnostic {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 8px;
  align-items: stretch;
}

.readiness-score-card,
.readiness-current-board,
.readiness-goal-board,
.readiness-funding-board,
.readiness-proof-routes {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  padding: 8px 9px;
}

.readiness-score-card {
  display: grid;
  align-content: center;
  border-left: 5px solid var(--red);
  background:
    linear-gradient(135deg, rgba(209, 69, 59, .09), transparent 58%),
    #fff;
}

.readiness-diagnostic.warn .readiness-score-card {
  border-left-color: var(--amber);
  background:
    linear-gradient(135deg, rgba(201, 138, 0, .1), transparent 58%),
    #fff;
}

.readiness-diagnostic.pos .readiness-score-card {
  border-left-color: var(--green);
  background:
    linear-gradient(135deg, rgba(26, 157, 107, .1), transparent 58%),
    #fff;
}

.readiness-score-card span,
.readiness-current-board > span,
.readiness-goal-board > span,
.readiness-proof-routes > span,
.readiness-funding-head span {
  color: var(--muted);
  font-size: 10.5px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.readiness-score-card strong {
  margin-top: 5px;
  color: var(--ink);
  font-size: 24px;
  line-height: 1;
}

.readiness-score-line {
  height: 8px;
  margin-top: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: #e8eef7;
}

.readiness-score-line i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--red);
}

.readiness-diagnostic.warn .readiness-score-line i {
  background: var(--amber);
}

.readiness-diagnostic.pos .readiness-score-line i {
  background: var(--green);
}

.readiness-score-card em {
  margin-top: 6px;
  color: #475569;
  font-size: 11.5px;
  font-style: normal;
  line-height: 1.32;
}

.readiness-current-board,
.readiness-goal-board,
.readiness-proof-routes {
  display: grid;
  gap: 5px;
  align-content: start;
}

.readiness-current-board {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.readiness-current-board > span {
  grid-column: 1 / -1;
}

.readiness-goal-board {
  grid-column: 1 / -1;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.readiness-goal-board > span {
  grid-column: 1 / -1;
}

.readiness-current-card,
.readiness-goal-step,
.readiness-proof-routes a {
  display: grid;
  gap: 3px;
  border: 1px solid #dbe5f1;
  border-radius: 7px;
  background: #fbfdff;
  color: inherit;
  padding: 6px 7px;
  text-decoration: none;
}

.readiness-current-card {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
}

.readiness-current-card b,
.readiness-goal-step b,
.readiness-proof-routes b {
  color: var(--ink);
  font-size: 11.5px;
  line-height: 1.2;
}

.readiness-current-card strong,
.readiness-goal-step strong {
  color: var(--ink);
  font-size: 12px;
  line-height: 1.2;
  text-align: right;
}

.readiness-current-card em {
  grid-column: 1 / -1;
  color: #64748b;
  font-size: 10.5px;
  font-style: normal;
  line-height: 1.2;
}

.readiness-current-card.neg {
  border-left: 4px solid var(--red);
}

.readiness-current-card.warn {
  border-left: 4px solid var(--amber);
}

.readiness-current-card.pos {
  border-left: 4px solid var(--green);
}

.readiness-goal-step {
  grid-template-columns: 22px minmax(0, 1fr);
  align-items: start;
}

.readiness-goal-step > i {
  display: inline-grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border-radius: 999px;
  background: #e8eef7;
  color: var(--muted);
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
}

.readiness-goal-step.neg > i {
  background: var(--red-bg);
  color: var(--red);
}

.readiness-goal-step.warn > i {
  background: var(--amber-bg);
  color: var(--amber);
}

.readiness-goal-step.pos > i {
  background: var(--green-bg);
  color: var(--green);
}

.readiness-goal-step em,
.readiness-goal-step small {
  grid-column: 1 / -1;
  color: #64748b;
  font-size: 10.5px;
  font-style: normal;
  line-height: 1.2;
}

.metric-focus-readiness .readiness-goal-step em {
  display: none;
}

.readiness-goal-step small {
  color: #748198;
  font-size: 10px;
  display: none;
}

.readiness-funding-board {
  grid-column: 1 / -1;
}

.readiness-funding-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 8px;
  align-items: baseline;
  margin-bottom: 6px;
}

.readiness-funding-head strong {
  color: var(--ink);
  font-size: 13px;
}

.readiness-funding-head em {
  color: var(--muted);
  font-size: 10.5px;
  font-style: normal;
  font-weight: 800;
}

.readiness-funding-grid {
  display: grid;
  grid-template-columns: 290px minmax(0, 1fr);
  gap: 8px;
  align-items: stretch;
}

.readiness-funding-summary {
  display: grid;
  gap: 6px;
}

.readiness-funding-summary a,
.readiness-checkpoint,
.readiness-driver {
  border: 1px solid #dbe5f1;
  border-radius: 7px;
  background: #fbfdff;
  color: inherit;
  padding: 7px 8px;
  text-decoration: none;
}

.readiness-funding-summary a {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 3px 8px;
}

.readiness-funding-summary span,
.readiness-checkpoint span,
.readiness-driver span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .03em;
  text-transform: uppercase;
}

.readiness-funding-summary strong,
.readiness-checkpoint strong,
.readiness-driver strong {
  color: var(--ink);
  font-size: 12px;
  line-height: 1.15;
  text-align: right;
}

.readiness-funding-summary em,
.readiness-checkpoint em,
.readiness-driver em {
  grid-column: 1 / -1;
  color: #64748b;
  font-size: 10px;
  font-style: normal;
  line-height: 1.18;
}

.readiness-driver-bars {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px;
  align-content: start;
}

.readiness-driver {
  display: grid;
  grid-template-columns: 94px minmax(0, 1fr) 76px;
  gap: 6px;
  align-items: center;
  padding: 5px 7px;
}

.readiness-driver div {
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: #e8eef7;
}

.readiness-driver i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--green);
}

.readiness-driver.neg i {
  background: var(--red);
}

.readiness-driver.warn i {
  background: var(--amber);
}

.readiness-driver.neg strong {
  color: var(--red);
}

.readiness-driver.pos strong {
  color: var(--green);
}

.readiness-driver em {
  grid-column: 1 / -1;
}

.readiness-checkpoint-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  margin-top: 7px;
}

.readiness-checkpoint {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  border-left: 4px solid var(--green);
}

.readiness-checkpoint.warn {
  border-left-color: var(--amber);
}

.readiness-checkpoint.neg {
  border-left-color: var(--red);
}

.readiness-checkpoint.neg strong {
  color: var(--red);
}

.readiness-proof-routes {
  grid-column: 1 / -1;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.readiness-proof-routes > span {
  grid-column: 1 / -1;
  color: var(--muted);
  font-size: 10.5px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.readiness-proof-routes a {
  border-left: 4px solid var(--brand);
}

.readiness-proof-routes em {
  display: block;
  margin-top: 3px;
  color: #64748b;
  font-size: 10.3px;
  font-style: normal;
  line-height: 1.18;
}

.readiness-current-card:hover,
.readiness-goal-step:hover,
.readiness-driver:hover,
.readiness-checkpoint:hover,
.readiness-funding-summary a:hover,
.readiness-proof-routes a:hover {
  border-color: #93b7ec;
  background: #f8fbff;
}

html[data-theme="dark"] .readiness-score-card,
html[data-theme="dark"] .readiness-current-board,
html[data-theme="dark"] .readiness-goal-board,
html[data-theme="dark"] .readiness-funding-board,
html[data-theme="dark"] .readiness-proof-routes,
html[data-theme="dark"] .readiness-current-card,
html[data-theme="dark"] .readiness-goal-step,
html[data-theme="dark"] .readiness-driver,
html[data-theme="dark"] .readiness-checkpoint,
html[data-theme="dark"] .readiness-funding-summary a,
html[data-theme="dark"] .readiness-proof-routes a {
  background: #101927;
  border-color: #263a57;
}

html[data-theme="dark"] .readiness-score-card em,
html[data-theme="dark"] .readiness-current-card em,
html[data-theme="dark"] .readiness-goal-step em,
html[data-theme="dark"] .readiness-goal-step small,
html[data-theme="dark"] .readiness-driver em,
html[data-theme="dark"] .readiness-checkpoint em,
html[data-theme="dark"] .readiness-funding-summary em,
html[data-theme="dark"] .readiness-proof-routes em {
  color: #9fb0c7;
}

html[data-theme="dark"] .readiness-score-line {
  background: #1f2d43;
}

@media (max-width: 1180px) {
  .readiness-diagnostic {
    grid-template-columns: 1fr;
  }
  .readiness-current-board,
  .readiness-goal-board {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .readiness-current-board > span,
  .readiness-goal-board > span {
    grid-column: 1 / -1;
  }
  .readiness-funding-grid,
  .readiness-driver-bars,
  .readiness-checkpoint-strip {
    grid-template-columns: 1fr;
  }
  .readiness-proof-routes {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .readiness-funding-grid,
  .readiness-driver-bars,
  .readiness-checkpoint-strip,
  .readiness-proof-routes {
    grid-template-columns: 1fr;
  }
}

/* Product performance map and product detail popup density pass. */
.dashboard-page .product-map-panel {
  grid-template-columns: minmax(420px, .82fr) minmax(500px, 1fr);
}

.dashboard-page .product-map-panel > .table-scroll {
  overflow-x: hidden;
  max-height: 278px;
}

.dashboard-page .product-map-grid {
  grid-template-columns: minmax(0, 1fr) 96px;
}

.dashboard-page .product-map-wrap {
  height: 224px;
  min-height: 224px;
}

.dashboard-page .product-map-legend {
  padding-left: 8px;
  font-size: 10.5px;
}

.dashboard-page .legend-proof {
  display: none;
}

.dashboard-page .product-intel-table {
  width: 100%;
  table-layout: fixed;
}

.dashboard-page .product-intel-table th,
.dashboard-page .product-intel-table td {
  padding: 5px 6px;
  font-size: 11px;
  white-space: nowrap;
}

.dashboard-page .product-intel-table th:nth-child(1),
.dashboard-page .product-intel-table td:nth-child(1) {
  width: 22%;
}

.dashboard-page .product-intel-table th:nth-child(2),
.dashboard-page .product-intel-table td:nth-child(2) {
  width: 15%;
}

.dashboard-page .product-intel-table th:nth-child(3),
.dashboard-page .product-intel-table td:nth-child(3) {
  width: 11%;
}

.dashboard-page .product-intel-table th:nth-child(4),
.dashboard-page .product-intel-table td:nth-child(4),
.dashboard-page .product-intel-table th:nth-child(5),
.dashboard-page .product-intel-table td:nth-child(5) {
  width: 15%;
}

.dashboard-page .product-intel-table th:nth-child(6),
.dashboard-page .product-intel-table td:nth-child(6) {
  width: 10%;
}

.dashboard-page .product-intel-table th:nth-child(7),
.dashboard-page .product-intel-table td:nth-child(7) {
  width: 12%;
}

.dashboard-page .product-intel-table .link-button,
.dashboard-page .product-intel-table .metric-cell-btn,
.dashboard-page .product-intel-table .issue-chip,
.dashboard-page .product-intel-table .status-chip {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.product-detail-dashboard {
  gap: 10px;
}

.product-detail-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, .42fr);
  gap: 12px;
  align-items: stretch;
}

.product-detail-verdict {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  padding: 10px 12px;
}

.product-detail-verdict.pos {
  border-left: 4px solid var(--green);
}

.product-detail-verdict.warn {
  border-left: 4px solid var(--amber);
}

.product-detail-verdict.neg {
  border-left: 4px solid var(--red);
}

.product-detail-verdict span,
.product-detail-story span {
  display: block;
  color: var(--muted);
  font-size: 10.5px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.product-detail-verdict strong {
  display: block;
  margin-top: 5px;
  color: var(--ink);
  font-size: 16px;
}

.product-detail-verdict em,
.product-detail-story em {
  display: block;
  margin-top: 5px;
  color: #64748b;
  font-size: 11.5px;
  font-style: normal;
  line-height: 1.32;
}

.product-detail-dashboard .battlecard-grid {
  grid-template-columns: repeat(9, minmax(0, 1fr));
  gap: 7px;
}

.product-detail-dashboard .mini-card {
  min-height: 58px;
  padding: 8px 10px;
}

.product-detail-dashboard .mini-card span {
  font-size: 10px;
}

.product-detail-dashboard .mini-card strong {
  font-size: 14px;
}

.product-detail-story-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .75fr);
  gap: 9px;
}

.product-detail-story {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  padding: 10px 12px;
}

.product-detail-story.warn {
  border-left: 4px solid var(--amber);
}

.product-detail-story.neg {
  border-left: 4px solid var(--red);
}

.product-detail-story.pos {
  border-left: 4px solid var(--green);
}

.product-detail-story strong {
  display: block;
  margin-top: 5px;
  color: var(--ink);
  font-size: 13px;
  line-height: 1.25;
}

.product-detail-timelines {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.product-timeline {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  padding: 10px 12px;
}

.product-timeline.empty strong {
  display: block;
  margin-top: 6px;
  color: var(--muted);
}

.product-timeline-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 8px;
  align-items: baseline;
}

.product-timeline-head span,
.product-timeline-notes span {
  color: var(--muted);
  font-size: 10.5px;
  font-weight: 850;
  letter-spacing: .03em;
  text-transform: uppercase;
}

.product-timeline-head strong {
  color: var(--ink);
  font-size: 14px;
}

.product-timeline-head em {
  border-radius: 999px;
  padding: 2px 6px;
  background: #eef4fb;
  color: var(--muted);
  font-size: 10.5px;
  font-style: normal;
  font-weight: 850;
}

.product-timeline-head em.pos {
  background: var(--green-bg);
  color: var(--green);
}

.product-timeline-head em.neg {
  background: var(--red-bg);
  color: var(--red);
}

.product-timeline-bars {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 7px;
  align-items: end;
  min-height: 130px;
  margin-top: 8px;
  border-bottom: 1px solid var(--line);
  padding-bottom: 4px;
}

.product-timeline-point {
  appearance: none;
  display: grid;
  grid-template-rows: 1fr auto auto;
  align-items: end;
  justify-items: center;
  gap: 4px;
  min-width: 0;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  padding: 0;
}

.product-timeline-point i {
  width: min(100%, 28px);
  border-radius: 5px 5px 2px 2px;
  background: #4f8df1;
  box-shadow: inset 0 -1px 0 rgba(0,0,0,.08);
}

.product-timeline-point.high i {
  background: var(--green);
}

.product-timeline-point.low i {
  background: var(--amber);
}

.product-timeline-point.neg i {
  background: var(--red);
}

.product-timeline-point strong {
  max-width: 100%;
  color: var(--ink);
  font-size: 10px;
  line-height: 1.1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.product-timeline-point span {
  color: var(--muted);
  font-size: 10px;
}

.product-timeline-notes {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 7px;
}

.product-detail-proof-table {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  padding: 8px 10px;
}

.product-detail-proof-table table {
  width: 100%;
}

.product-detail-proof-table th,
.product-detail-proof-table td {
  padding: 6px 7px;
  font-size: 11.5px;
}

.proof-read-chip {
  display: inline-flex;
  max-width: 100%;
  border-radius: 999px;
  background: #eef4fb;
  color: var(--muted);
  padding: 2px 7px;
  font-size: 10.5px;
  font-weight: 850;
}

.proof-read-chip.pos {
  background: var(--green-bg);
  color: var(--green);
}

.proof-read-chip.warn {
  background: var(--amber-bg);
  color: var(--amber);
}

html[data-theme="dark"] .product-detail-verdict,
html[data-theme="dark"] .product-detail-story,
html[data-theme="dark"] .product-timeline,
html[data-theme="dark"] .product-detail-proof-table {
  background: #101927;
  border-color: #263a57;
}

html[data-theme="dark"] .product-detail-verdict em,
html[data-theme="dark"] .product-detail-story em {
  color: #9fb0c7;
}

/* Finance-grid visual consistency pass.
   These are presentation-only overrides for row rhythm, section hierarchy, and theme parity. */
:root {
  --app-font: "Aptos", "Segoe UI Variable", "Segoe UI", -apple-system, BlinkMacSystemFont, sans-serif;
  --finance-row: 32px;
  --finance-row-compact: 28px;
  --finance-row-section: 42px;
  --finance-row-summary: 36px;
  --finance-row-result: 38px;
  --finance-section-gap: 8px;
  --finance-header-bg: #fbfdff;
  --finance-section-bg: #eaf2ff;
  --finance-section-border: #b9d0f5;
  --finance-summary-bg: #f3f6fb;
  --finance-result-bg: #ffffff;
  --finance-child-bg: #fbfcfe;
  --finance-grid-line: #d9e2ee;
}

.panel.table-scroll,
.pl-table-scroll,
.cash-forecast-panel,
.drill-table-wrap,
.modal-table-scroll,
.sales-grid-scroll,
.cc-table-scroll {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
}

table {
  border-spacing: 0;
  font-variant-numeric: tabular-nums;
}

th,
td {
  min-height: var(--finance-row);
  height: var(--finance-row);
  padding: 7px 12px;
  border-bottom-color: var(--finance-grid-line);
  line-height: 1.22;
  vertical-align: middle;
}

thead th {
  height: 34px;
  background: var(--finance-header-bg);
  border-bottom: 2px solid #cbd7e6;
  color: #51627a;
  font-size: 10.5px;
  font-weight: 850;
  letter-spacing: 0;
}

tbody tr:hover td {
  background-color: var(--hover-bg);
}

.compact-table th,
.compact-table td,
.drill-table th,
.drill-table td {
  min-height: var(--finance-row-compact);
  height: auto;
  padding-top: 7px;
  padding-bottom: 7px;
  font-size: 11.7px;
}

tr.section-row td,
.coa-map-table .coa-section td,
.cash-section-row td,
.pl-matrix tr.section-row td,
.pl-matrix tr.section-row td:first-child,
.pl-matrix tr.section-row td:last-child,
.combined-cash-matrix tr.cash-section-row td:first-child,
.combined-cash-matrix tr.cash-section-row td:last-child {
  min-height: var(--finance-row-section);
  height: var(--finance-row-section);
  padding-top: 10px;
  padding-bottom: 10px;
  background: var(--finance-section-bg);
  color: var(--brand-dark);
  border-top: var(--finance-section-gap) solid var(--panel);
  border-bottom: 2px solid var(--finance-section-border);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

tr.subtotal td,
.cash-total-row td,
.combined-cash-matrix tr.subtotal td,
.pl-matrix tr.subtotal td,
.pl-matrix tr.subtotal td:first-child,
.pl-matrix tr.subtotal td:last-child {
  min-height: var(--finance-row-summary);
  height: var(--finance-row-summary);
  padding-top: 8px;
  padding-bottom: 8px;
  background: var(--finance-summary-bg);
  border-top: 2px solid #bdcbe0;
  border-bottom: 1px solid #d6e0ec;
  font-weight: 850;
}

.pl-matrix tr.pl-basis-section td,
.pl-matrix tr.pl-basis-section td:first-child,
.pl-matrix tr.pl-basis-section td:last-child {
  --sticky-bg: var(--panel);
  min-height: 44px;
  height: 44px;
  padding-top: 13px;
  padding-bottom: 9px;
  background: var(--panel);
  color: var(--ink);
  border-top: 10px solid var(--app-bg);
  border-bottom: 2px solid #c7d2e2;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
}

.pl-matrix tr.cash-basis-section td:first-child {
  border-left: 5px solid #64748b;
}

.pl-matrix tr.accrual-basis-section td:first-child {
  border-left: 5px solid var(--green);
}

.pl-matrix tr.statement-line td,
.pl-matrix tr.statement-line td:first-child,
.pl-matrix tr.statement-line td:last-child {
  --sticky-bg: #edf3fb;
  background: #edf3fb;
  color: #0f2f5f;
  border-top: 1px solid #c7d7ec;
  border-bottom: 1px solid #c7d7ec;
}

.pl-matrix tr.gp-result-row td,
.pl-matrix tr.gp-result-row td:first-child,
.pl-matrix tr.gp-result-row td:last-child,
.cash-result-row td {
  --sticky-bg: var(--finance-result-bg);
  min-height: var(--finance-row-result);
  height: var(--finance-row-result);
  padding-top: 9px;
  padding-bottom: 8px;
  background: var(--finance-result-bg);
  border-top: 3px solid #29364a;
  border-bottom: 2px solid #cbd7e6;
  font-weight: 900;
}

.pl-matrix tr.operating-income-row td,
.pl-matrix tr.operating-income-row td:first-child,
.pl-matrix tr.operating-income-row td:last-child {
  border-top-width: 2px;
}

.pl-matrix tr.variance-row td,
.pl-matrix tr.variance-row td:first-child,
.pl-matrix tr.variance-row td:last-child {
  min-height: 30px;
  height: 30px;
  background: #fffdf8;
  color: #38465a;
  font-size: 11px;
  border-top: 1px solid #e3d5b3;
  border-bottom: 1px solid #e8dfca;
}

.pl-matrix tr.drillrow td,
.pl-matrix .pl-child-row td,
.cash-child-row td,
.cash-inline-detail-row td {
  min-height: var(--finance-row-compact);
  height: var(--finance-row-compact);
  padding-top: 5px;
  padding-bottom: 5px;
  background: var(--finance-child-bg);
  font-size: 11.4px;
}

.pl-matrix .pl-child-row.level-1 td:first-child,
.cash-child-row.level-1 td:first-child {
  padding-left: 58px;
  color: #2f4058;
}

.pl-matrix .pl-child-row.level-2 td:first-child {
  padding-left: 88px;
  color: #52657e;
}

.pl-matrix .pl-child-row.level-3 td:first-child {
  padding-left: 112px;
  color: #64748b;
}

.pl-matrix .pl-account-group-row td,
.pl-matrix .pl-account-group-row td:first-child,
.pl-matrix .pl-account-group-row td:last-child {
  --sticky-bg: #f6f9fd;
  background: #f6f9fd;
  color: #26384f;
  border-top: 1px solid #d7e3f3;
  border-bottom: 1px solid #d7e3f3;
}

.pl-matrix tbody td:not(:first-child),
.pl-matrix tbody td:not(:first-child) .pl-number-btn,
.pl-matrix tbody td:not(:first-child) .pl-cell-main,
.combined-cash-matrix tbody td:not(:first-child),
.combined-cash-matrix tbody td:not(:first-child) .cash-number-btn {
  font-weight: 700;
}

.pl-matrix .pl-cell-help {
  margin-top: 2px;
  color: #53667e;
  font-size: 9.8px;
  line-height: 1.05;
}

.pl-number-btn,
.cash-number-btn,
.cash-actual-detail-btn {
  min-height: 24px;
}

.pl-number-btn:hover,
.pl-number-btn:focus-visible,
.cash-number-btn:hover,
.cash-number-btn:focus-visible,
.cash-actual-detail-btn:hover,
.cash-actual-detail-btn:focus-visible {
  background: #e8f1ff;
  box-shadow: inset 0 0 0 1px rgba(31, 111, 235, .18);
}

.pl-matrix td.cf-margin-warn,
.pl-matrix td.cf-revenue-variance {
  box-shadow: inset 0 -3px 0 var(--cf-alert-color, #d1453b);
}

.pl-matrix td.cf-variance {
  box-shadow: inset 0 -3px 0 var(--cf-alert-color, #7c3aed);
}

.pl-format-panel,
.pl-view-toggle,
.pl-vendor-toolbar,
.cash-toolbar {
  border-radius: 8px;
}

.pl-format-panel {
  margin-top: 8px;
}

.combined-cash-matrix {
  min-width: 1920px;
  font-size: 11.8px;
}

.combined-cash-matrix th,
.combined-cash-matrix td {
  padding-left: 9px;
  padding-right: 9px;
}

.combined-cash-matrix th:first-child,
.combined-cash-matrix td:first-child {
  width: 380px;
  min-width: 380px;
  max-width: 380px;
}

.combined-cash-matrix .cash-row-label {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
}

.combined-cash-matrix .cash-line-toggle {
  overflow: visible;
  text-overflow: clip;
  white-space: normal;
  line-height: 1.2;
}

.combined-cash-matrix .cash-forecast-mode {
  width: 88px;
  min-width: 88px;
  max-width: 88px;
}

.drill-table.ap-payment-date-table th:nth-child(1),
.drill-table.ap-payment-date-table td:nth-child(1) {
  width: 220px;
  min-width: 220px;
}

.drill-table.ap-payment-date-table th:nth-child(2),
.drill-table.ap-payment-date-table td:nth-child(2) {
  width: 120px;
  min-width: 120px;
  white-space: nowrap;
  overflow-wrap: normal;
}

.drill-table.ap-payment-date-table th:nth-child(3),
.drill-table.ap-payment-date-table td:nth-child(3) {
  width: 170px;
}

.drill-table.ap-payment-date-table th:nth-child(4),
.drill-table.ap-payment-date-table td:nth-child(4) {
  width: 120px;
  text-align: right;
}

.drill-table.ap-payment-date-table td {
  vertical-align: middle;
}

.metric-modal-primary {
  display: flex;
  align-items: baseline;
  gap: 6px;
  flex-wrap: wrap;
  margin-bottom: 12px;
}

.metric-modal-primary span {
  color: var(--muted);
}

.metric-modal-primary strong {
  color: var(--ink);
  font-size: 14px;
}

.metric-modal-primary small {
  color: var(--muted);
}

.combined-cash-matrix th.actual-week,
.combined-cash-matrix td.actual-week {
  background: #fbfcfe;
}

.combined-cash-matrix th.forecast-week,
.combined-cash-matrix td.forecast-week,
.pl-matrix td.cf-forecast,
.pl-matrix thead th.forecast-col,
#sales-grid .forecast-month {
  background: var(--forecast-bg);
}

.cash-section-row td,
.cash-total-row td,
.cash-result-row td {
  letter-spacing: 0;
}

html[data-theme="dark"] {
  --finance-header-bg: #111c2b;
  --finance-section-bg: #142844;
  --finance-section-border: #315f9f;
  --finance-summary-bg: #162234;
  --finance-result-bg: #101928;
  --finance-child-bg: #0f1725;
  --finance-grid-line: #263448;
}

html[data-theme="dark"] thead th,
html[data-theme="dark"] .pl-matrix thead th,
html[data-theme="dark"] .cash-matrix thead th {
  background: var(--finance-header-bg);
  border-bottom-color: #32435b;
  color: #9fb0c7;
}

html[data-theme="dark"] .pl-matrix tr.pl-basis-section td,
html[data-theme="dark"] .pl-matrix tr.pl-basis-section td:first-child,
html[data-theme="dark"] .pl-matrix tr.pl-basis-section td:last-child {
  --sticky-bg: var(--panel);
  background: var(--panel);
  color: var(--ink);
  border-top-color: var(--app-bg);
  border-bottom-color: #31405a;
}

html[data-theme="dark"] .pl-matrix tr.statement-line td,
html[data-theme="dark"] .pl-matrix tr.statement-line td:first-child,
html[data-theme="dark"] .pl-matrix tr.statement-line td:last-child {
  --sticky-bg: #13233a;
  background: #13233a;
  color: #c9ddff;
  border-color: #29415f;
}

html[data-theme="dark"] .pl-matrix tr.gp-result-row td,
html[data-theme="dark"] .pl-matrix tr.gp-result-row td:first-child,
html[data-theme="dark"] .pl-matrix tr.gp-result-row td:last-child,
html[data-theme="dark"] .cash-result-row td {
  --sticky-bg: var(--finance-result-bg);
  background: var(--finance-result-bg);
  border-top-color: #d5e1f2;
  border-bottom-color: #30425e;
}

html[data-theme="dark"] .pl-matrix tr.variance-row td,
html[data-theme="dark"] .pl-matrix tr.variance-row td:first-child,
html[data-theme="dark"] .pl-matrix tr.variance-row td:last-child {
  background: #1f1a11;
  color: #d1b77d;
  border-color: #4a3a19;
}

html[data-theme="dark"] .pl-matrix tr.drillrow td,
html[data-theme="dark"] .pl-matrix .pl-child-row td,
html[data-theme="dark"] .cash-child-row td,
html[data-theme="dark"] .cash-inline-detail-row td {
  background: var(--finance-child-bg);
}

html[data-theme="dark"] .pl-matrix .pl-account-group-row td,
html[data-theme="dark"] .pl-matrix .pl-account-group-row td:first-child,
html[data-theme="dark"] .pl-matrix .pl-account-group-row td:last-child {
  --sticky-bg: #121f31;
  background: #121f31;
  color: #d1ddec;
  border-color: #2a3c55;
}

html[data-theme="dark"] .pl-matrix .pl-cell-help {
  color: #91a0b4;
}

html[data-theme="dark"] .pl-number-btn:hover,
html[data-theme="dark"] .pl-number-btn:focus-visible,
html[data-theme="dark"] .cash-number-btn:hover,
html[data-theme="dark"] .cash-number-btn:focus-visible,
html[data-theme="dark"] .cash-actual-detail-btn:hover,
html[data-theme="dark"] .cash-actual-detail-btn:focus-visible {
  background: #162b49;
  box-shadow: inset 0 0 0 1px rgba(105, 163, 255, .24);
}

html[data-theme="dark"] .combined-cash-matrix th.actual-week,
html[data-theme="dark"] .combined-cash-matrix td.actual-week {
  background: #101928;
}

/* Cash worksheet remodel: controls live in the page header, matrix cells share one visual language. */
#page-actions .cash-header-floor {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--muted);
  font-size: 11.5px;
  font-weight: 800;
}

#page-actions .cash-header-floor input {
  width: 86px;
  height: 32px;
  border: 1px solid #b8c5d7;
  border-radius: 6px;
  background: var(--panel);
  color: var(--ink);
  padding: 4px 8px;
  font-size: 12px;
  font-weight: 750;
}

.cash-forecast-panel {
  max-height: calc(100vh - 150px);
  overflow: auto;
}

.combined-cash-matrix,
.combined-cash-matrix th,
.combined-cash-matrix td,
.combined-cash-matrix .cash-number-btn,
.combined-cash-matrix .cash-actual-detail-btn,
.combined-cash-matrix input,
.combined-cash-matrix select {
  font-size: 11.8px !important;
}

.combined-cash-matrix th,
.combined-cash-matrix td {
  height: 34px;
  min-height: 34px;
  border-bottom: 1px solid var(--finance-grid-line);
  color: var(--ink);
}

.combined-cash-matrix tr.cash-section-row td,
.combined-cash-matrix tr.cash-section-row td:first-child,
.combined-cash-matrix tr.cash-section-row td:last-child {
  --sticky-bg: var(--finance-section-bg);
  background: var(--finance-section-bg) !important;
  border-top: 8px solid var(--panel);
  border-bottom: 2px solid var(--finance-section-border);
  color: var(--brand-dark);
}

.combined-cash-matrix tr.subtotal td,
.combined-cash-matrix tr.subtotal td:first-child,
.combined-cash-matrix tr.subtotal td:last-child,
.combined-cash-matrix tr.cash-total-row td,
.combined-cash-matrix tr.cash-total-row td:first-child,
.combined-cash-matrix tr.cash-total-row td:last-child {
  --sticky-bg: var(--finance-summary-bg);
  background: var(--finance-summary-bg) !important;
  border-top: 2px solid #bdcbe0;
  border-bottom: 1px solid #d6e0ec;
}

.combined-cash-matrix tr.cash-result-row td,
.combined-cash-matrix tr.cash-result-row td:first-child,
.combined-cash-matrix tr.cash-result-row td:last-child {
  --sticky-bg: var(--finance-result-bg);
  background: var(--finance-result-bg) !important;
  border-top: 3px solid #29364a;
  border-bottom: 2px solid #cbd7e6;
}

.combined-cash-matrix tr.cash-child-row td,
.combined-cash-matrix tr.cash-inline-detail-row td {
  --sticky-bg: var(--finance-child-bg);
  background: var(--finance-child-bg);
}

.combined-cash-matrix .actual-week,
.combined-cash-matrix .forecast-week {
  border-bottom-color: var(--finance-grid-line);
}

.combined-cash-matrix th.actual-week,
.combined-cash-matrix th.forecast-week {
  background: var(--finance-header-bg) !important;
  border-bottom: 2px solid #cbd7e6;
}

.combined-cash-matrix td.actual-week {
  background: inherit;
}

.combined-cash-matrix td.forecast-week {
  background: color-mix(in srgb, var(--forecast-bg) 62%, var(--sticky-bg, var(--panel))) !important;
}

.cash-row-jump {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 66px;
  height: 25px;
  border: 1px solid #bcd0ea;
  border-radius: 6px;
  background: #f7fbff;
  color: var(--brand-dark);
  font-size: 11px;
  font-weight: 850;
  text-decoration: none;
}

.cash-row-hint {
  color: var(--muted);
  font-size: 10.5px;
  font-weight: 750;
  white-space: nowrap;
}

.people-payroll-shell {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 8px;
}

.people-payroll-shell > div {
  display: grid;
  gap: 3px;
  border: 1px solid #dbe5f1;
  border-radius: 7px;
  background: #fbfdff;
  padding: 8px 10px;
}

.people-payroll-shell span {
  color: var(--muted);
  font-size: 10.5px;
  font-weight: 900;
  text-transform: uppercase;
}

.people-payroll-shell strong {
  color: var(--ink);
  font-size: 13px;
}

.people-payroll-shell em {
  color: #607089;
  font-size: 11px;
  font-style: normal;
}

.people-payroll-manager {
  height: auto;
  max-height: none;
}

.people-roster-scroll {
  max-height: 430px;
  overflow: auto;
}

.people-roster-table {
  min-width: 1480px;
  table-layout: fixed;
}

.people-roster-table th,
.people-roster-table td {
  height: 34px;
  padding: 5px 7px;
  font-size: 11.5px;
  white-space: nowrap;
  vertical-align: middle;
}

.people-roster-table th:nth-child(1),
.people-roster-table td:nth-child(1) {
  width: 180px;
  min-width: 180px;
  text-align: left;
}

.people-roster-table th:nth-child(11),
.people-roster-table td:nth-child(11) {
  width: 145px;
}

.people-roster-table th:nth-child(13),
.people-roster-table td:nth-child(13) {
  width: 190px;
}

.people-roster-field {
  width: 100%;
  min-width: 0;
  height: 27px;
  border: 1px solid #b8c6d8;
  border-radius: 5px;
  background: #fff;
  color: var(--ink);
  padding: 3px 6px;
  font-size: 11.5px;
  font-weight: 700;
}

.people-roster-check {
  text-align: center;
}

.people-roster-check input {
  width: 16px;
  height: 16px;
}

.people-roster-actions {
  display: flex;
  gap: 5px;
  align-items: center;
}

.people-roster-actions .btn {
  height: 27px;
  padding: 4px 7px;
}

.compact-empty {
  padding: 10px 12px;
}

.cash-popup-table th:nth-child(7),
.cash-popup-table td:nth-child(7) {
  width: 210px;
  min-width: 210px;
}

.cash-popup-table th:nth-child(8),
.cash-popup-table td:nth-child(8) {
  width: 90px;
  min-width: 90px;
  text-align: right;
}

.cash-popup-table .cash-popup-input[data-field="notes"] {
  width: 100%;
  min-width: 190px;
}

.cash-popup-toolbar {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) auto;
  gap: 12px;
  align-items: center;
  margin-bottom: 10px;
}
.cash-popup-toolbar > div:first-child {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.cash-popup-toolbar .modal-search {
  width: min(320px, 42vw);
}
.cash-popup-toolbar span {
  color: var(--muted);
  font-size: 12px;
}
.cash-popup-toolbar-stats {
  display: grid;
  grid-template-columns: auto auto auto auto;
  align-items: baseline;
  gap: 5px 8px;
  padding: 7px 9px;
  border: 1px solid var(--line);
  background: #f8fafc;
}
.cash-popup-toolbar-stats strong {
  color: var(--ink);
  font-size: 13px;
}
.cash-popup-toolbar-stats strong.neg {
  color: var(--red);
}
.cash-popup-toolbar-stats strong.pos {
  color: var(--green);
}
.cash-popup-toolbar-stats span {
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}

.cash-popup-lean-scroll {
  max-height: 430px;
}
.cash-popup-lean-table {
  width: 100%;
  min-width: 1040px;
  table-layout: fixed;
}
.cash-popup-lean-table th,
.cash-popup-lean-table td {
  padding: 8px 9px;
  font-size: 12px;
  vertical-align: middle;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.cash-popup-lean-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: var(--panel-2);
  color: var(--muted);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .025em;
}
.cash-popup-lean-table th:nth-child(1),
.cash-popup-lean-table td:nth-child(1) {
  width: 96px;
}
.cash-popup-lean-table th:nth-child(2),
.cash-popup-lean-table td:nth-child(2) {
  width: 240px;
  font-weight: 750;
}
.cash-popup-lean-table th:nth-child(3),
.cash-popup-lean-table td:nth-child(3) {
  width: 260px;
  font-weight: 650;
}
.cash-popup-lean-table th:nth-child(5),
.cash-popup-lean-table td:nth-child(5) {
  width: 120px;
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.cash-popup-open-row {
  cursor: pointer;
}
.cash-popup-open-row:hover td {
  background: var(--hover-bg);
}

.cash-popup-card-list {
  display: grid;
  gap: 8px;
  max-height: 470px;
  overflow: auto;
  padding-right: 4px;
}

.cash-popup-card {
  display: grid;
  gap: 8px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--panel);
}

.cash-popup-card-main {
  display: grid;
  grid-template-columns: 120px minmax(260px, 1fr) minmax(260px, .9fr);
  gap: 12px;
  align-items: start;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--line);
}

.cash-popup-transaction,
.cash-popup-posting,
.cash-popup-amount,
.cash-popup-editor-block {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.cash-popup-transaction {
  align-content: start;
}

.cash-popup-amount span,
.cash-popup-posting small,
.cash-popup-editor-block label {
  color: var(--muted);
  font-size: 10px;
  font-weight: 850;
  text-transform: uppercase;
}

.cash-popup-transaction strong,
.cash-popup-posting strong,
.cash-popup-amount strong {
  color: var(--ink);
  font-size: 13px;
  overflow-wrap: anywhere;
}

.cash-popup-amount strong {
  font-size: 16px;
  font-weight: 900;
}
.cash-popup-amount strong.neg {
  color: var(--red);
}
.cash-popup-amount strong.pos {
  color: var(--green);
}

.cash-popup-transaction span,
.cash-popup-posting span {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.cash-popup-hint {
  padding: 6px 8px;
  border-left: 3px solid var(--green);
  border-radius: 6px;
  background: #ecfdf5;
  color: #047857;
  font-size: 11px;
  font-weight: 750;
  line-height: 1.25;
}

.cash-popup-map-grid {
  display: grid;
  grid-template-columns: minmax(220px, .85fr) minmax(360px, 1.25fr) minmax(240px, 1fr);
  gap: 8px;
  align-items: start;
}

.cash-popup-editor-block {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.cash-popup-editor-block.primary {
  border: 0;
  background: transparent;
}

.cash-popup-editor-block select,
.cash-popup-editor-block .cash-popup-input {
  margin-top: 0;
}

.cash-popup-fields {
  display: grid;
  gap: 6px;
}
.cash-popup-fields.two {
  grid-template-columns: minmax(0, 1fr) minmax(120px, .7fr);
}
.cash-popup-fields.three {
  grid-template-columns: minmax(110px, .7fr) minmax(0, 1fr) minmax(0, 1fr);
}
.cash-popup-fields.product {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}
.cash-popup-editor-block.notes {
  grid-column: 1 / -1;
}
.cash-popup-editor-block.notes .cash-popup-input {
  min-height: 38px;
}

@media (max-width: 980px) {
  .cash-popup-card-main,
  .cash-popup-map-grid {
    grid-template-columns: 1fr;
  }
  .cash-popup-fields.two,
  .cash-popup-fields.three,
  .cash-popup-fields.product {
    grid-template-columns: 1fr;
  }
}

html[data-theme="dark"] .cash-popup-card,
html[data-theme="dark"] .cash-popup-editor-block,
html[data-theme="dark"] .cash-popup-editor-block.primary {
  background: #101927;
  border-color: #263a57;
}

html[data-theme="dark"] .cash-popup-hint {
  background: rgba(16, 185, 129, .14);
  color: #7dd3a7;
}

html[data-theme="dark"] #page-actions .cash-header-floor input,
html[data-theme="dark"] .cash-row-jump,
html[data-theme="dark"] .people-payroll-shell > div,
html[data-theme="dark"] .people-roster-field {
  background: #101927;
  border-color: #263a57;
  color: var(--ink);
}

html[data-theme="dark"] .combined-cash-matrix tr.cash-section-row td,
html[data-theme="dark"] .combined-cash-matrix tr.cash-section-row td:first-child,
html[data-theme="dark"] .combined-cash-matrix tr.cash-section-row td:last-child {
  --sticky-bg: var(--finance-section-bg);
  background: var(--finance-section-bg) !important;
  color: #c9ddff;
}

html[data-theme="dark"] .combined-cash-matrix tr.cash-child-row td,
html[data-theme="dark"] .combined-cash-matrix tr.cash-inline-detail-row td {
  --sticky-bg: var(--finance-child-bg);
  background: var(--finance-child-bg);
}

html[data-theme="dark"] .combined-cash-matrix td.forecast-week {
  background: color-mix(in srgb, var(--forecast-bg) 55%, var(--sticky-bg, var(--panel))) !important;
}

#sales-grid.driver-grid th,
#sales-grid.driver-grid td {
  border-bottom-color: var(--finance-grid-line);
}

#sales-grid.driver-grid th:first-child,
#sales-grid.driver-grid td:first-child,
#sales-grid.driver-grid .sticky-product {
  background: #fbfdff;
}

#sales-grid.driver-grid thead th:first-child,
#sales-grid.driver-grid thead th {
  background: var(--finance-header-bg);
  border-bottom: 2px solid #cbd7e6;
}

#sales-grid.driver-grid td:first-child .unit-sales-product-name,
#sales-grid.driver-grid .product-rule-cell {
  color: var(--ink);
}

#sales-grid.driver-grid input.case-cell {
  min-height: 30px;
  border-color: #b9c6d6;
  background: #fff;
  color: var(--ink);
  font-weight: 750;
}

html[data-theme="dark"] #sales-grid.driver-grid th,
html[data-theme="dark"] #sales-grid.driver-grid td {
  border-bottom-color: #263448;
}

html[data-theme="dark"] #sales-grid.driver-grid th:first-child,
html[data-theme="dark"] #sales-grid.driver-grid td:first-child,
html[data-theme="dark"] #sales-grid.driver-grid .sticky-product {
  background: #101928;
  color: var(--ink);
}

html[data-theme="dark"] .sales-grid-panel .section-head {
  background: #101928;
  border-bottom-color: #263448;
}

html[data-theme="dark"] .sales-grid-panel .section-head h2 {
  color: var(--ink);
}

html[data-theme="dark"] .sales-grid-panel .section-head .help {
  color: #9aa8bb;
}

html[data-theme="dark"] .sales-grid-scroll {
  background: #101928;
}

html[data-theme="dark"] #sales-grid.driver-grid th:first-child,
html[data-theme="dark"] #sales-grid.driver-grid td:first-child {
  box-shadow: 12px 0 0 #101928, 18px 0 14px rgba(0, 0, 0, .28), 1px 0 0 #263448;
}

html[data-theme="dark"] #sales-grid.driver-grid thead th:first-child,
html[data-theme="dark"] #sales-grid.driver-grid thead th {
  background: #111c2b;
  border-bottom-color: #32435b;
  color: #9fb0c7;
}

html[data-theme="dark"] #sales-grid.driver-grid td:first-child .unit-sales-product-name,
html[data-theme="dark"] #sales-grid.driver-grid .product-rule-cell,
html[data-theme="dark"] #sales-grid.driver-grid .forecast-growth-note {
  color: #edf3fb;
}

html[data-theme="dark"] #sales-grid.driver-grid .muted,
html[data-theme="dark"] #sales-grid.driver-grid .product-rule-cell .muted {
  color: #9aa8bb;
}

html[data-theme="dark"] #sales-grid.driver-grid input.case-cell {
  border-color: #53657d;
  background: #2a2f38;
  color: #ffffff;
}

html[data-theme="dark"] #sales-grid.driver-grid input.case-cell:disabled {
  background: #202a38;
  color: #9aa8bb;
}

@media (max-width: 1500px) {
  .product-detail-dashboard .battlecard-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 1200px) {
  .dashboard-page .product-map-panel {
    display: block;
  }
  .dashboard-page .product-map-panel > .table-scroll {
    max-height: none;
  }
  .product-detail-head,
  .product-detail-story-grid,
  .product-detail-timelines {
    grid-template-columns: 1fr;
  }
}

/* Product case grid: wider inline forecast controls and in-row setup exceptions. */
#sales-grid.driver-grid {
  min-width: 1900px;
}

#sales-grid.driver-grid th:first-child,
#sales-grid.driver-grid td:first-child {
  min-width: 690px;
  max-width: 690px;
  width: 690px;
}

#sales-grid.driver-grid .product-rule-cell {
  padding-top: 9px;
  padding-bottom: 9px;
}

#sales-grid.driver-grid .row-forecast-controls {
  display: grid;
  grid-template-columns: minmax(145px, 1fr) 250px 96px 58px minmax(120px, .8fr);
  gap: 10px;
  align-items: center;
  width: 100%;
  max-width: none;
  margin-top: 0;
}

#sales-grid.driver-grid .row-forecast-controls.setup-needed-controls {
  grid-template-columns: minmax(145px, 1fr) minmax(300px, 1.3fr);
  max-width: none;
}

.product-rule-main {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.product-ims-chip {
  display: inline-grid;
  grid-template-columns: auto auto auto;
  align-items: center;
  gap: 4px;
  max-width: 142px;
  margin-top: 4px;
  padding: 2px 5px;
  border: 1px solid #ccd7e3;
  border-radius: 6px;
  background: #f8fafc;
  color: #263446;
  font-size: 10px;
  font-weight: 800;
  line-height: 1.15;
  text-decoration: none;
  white-space: nowrap;
}

.product-ims-chip b,
.product-ims-chip span,
.product-ims-chip em {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.product-ims-chip em {
  font-style: normal;
  color: #7a3d00;
}

.product-ims-chip.high {
  border-color: #b8dbc7;
  background: #eefaf2;
  color: #14633f;
}

.product-ims-chip.medium {
  border-color: #efd38a;
  background: #e0f7ff;
  color: #7a4d00;
}

.product-ims-chip.review,
.product-ims-chip.low,
.product-ims-chip.missing {
  border-color: #f0c0b9;
  background: #fff2f0;
  color: #8a2d23;
}

#sales-grid.driver-grid td:first-child .unit-sales-product-name {
  min-width: 0;
}

.product-setup-icon {
  flex: 0 0 auto;
  display: inline-grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border: 1px solid #e7b957;
  border-radius: 999px;
  background: #e0f7ff;
  color: #8a4b00;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  cursor: help;
}

.product-setup-icon:hover,
.product-setup-icon:focus-visible {
  border-color: #0f8fb5;
  background: #ffefbf;
  outline: none;
}

.forecast-mode-buttons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 32px;
  padding: 3px;
  border: 1px solid #cbd8e8;
  border-radius: 999px;
  background: #eef4fb;
  gap: 3px;
}

.forecast-method-btn {
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #4d5e75;
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
  cursor: pointer;
}

.forecast-method-btn.active {
  background: #ffffff;
  color: var(--brand-dark);
  box-shadow: 0 1px 3px rgba(15, 23, 42, .12);
}

.forecast-method-btn:disabled {
  cursor: not-allowed;
  opacity: .55;
}

.growth-control {
  display: grid;
  grid-template-columns: auto minmax(48px, 1fr);
  align-items: center;
  gap: 5px;
  min-height: 32px;
  padding: 3px 7px;
  border: 1px solid #d7e1ee;
  border-radius: 999px;
  background: #fff;
  color: var(--muted);
  font-size: 10.5px;
  font-weight: 800;
}

.growth-control input.growth-input {
  min-height: 22px;
  padding: 0;
  border: 0;
  background: transparent;
  text-align: right;
  font-size: 11px;
  font-weight: 800;
  color: var(--ink);
}

.growth-control input.growth-input:disabled {
  background: transparent;
  color: #98a6b8;
}

#sales-grid.driver-grid .row-forecast-controls .apply-row-forecast {
  min-height: 31px;
  border-radius: 999px;
}

#sales-grid.driver-grid .history-rate {
  min-width: 0;
  padding-left: 2px;
  font-size: 11px;
}

#sales-grid.driver-grid .forecast-gate-note {
  min-height: 30px;
  width: fit-content;
  max-width: 100%;
  border: 0;
  border-radius: 999px;
  background: #fff4db;
  padding: 6px 11px;
  color: #8a4b00;
  font-weight: 800;
}

#sales-grid.driver-grid .forecast-gated-row .sticky-product {
  --sticky-bg: #f0fbfd;
  background: var(--sticky-bg);
}

html[data-theme="dark"] #sales-grid.driver-grid th:first-child,
html[data-theme="dark"] #sales-grid.driver-grid td:first-child {
  box-shadow: 12px 0 0 #101928, 18px 0 14px rgba(0, 0, 0, .28), 1px 0 0 #263448;
}

html[data-theme="dark"] .forecast-mode-buttons,
html[data-theme="dark"] .growth-control {
  border-color: #35465e;
  background: #162234;
}

html[data-theme="dark"] .forecast-method-btn {
  color: #9fb0c7;
}

html[data-theme="dark"] .forecast-method-btn.active {
  background: #24344a;
  color: #edf3fb;
}

html[data-theme="dark"] .growth-control input.growth-input {
  color: #edf3fb;
}

/* Unified Product Setup + unit sales grid. */
#sales-grid.product-setup-grid {
  min-width: 2780px;
  table-layout: fixed;
}

#sales-grid.product-setup-grid th,
#sales-grid.product-setup-grid td {
  height: 44px;
  white-space: nowrap;
}

#sales-grid.product-setup-grid .sticky-setup {
  position: sticky;
  z-index: 8;
  background: #fbfdff;
  box-shadow: 1px 0 0 var(--line);
}

#sales-grid.product-setup-grid thead .sticky-setup {
  z-index: 12;
  background: var(--finance-header-bg);
}

#sales-grid.product-setup-grid .product-name-col { left: 0; width: 160px; min-width: 160px; max-width: 160px; }
#sales-grid.product-setup-grid .product-status-col { left: 160px; width: 92px; min-width: 92px; max-width: 92px; }
#sales-grid.product-setup-grid .product-include-col { left: 252px; width: 70px; min-width: 70px; max-width: 70px; }
#sales-grid.product-setup-grid .product-units-col { left: 322px; width: 78px; min-width: 78px; max-width: 78px; }
#sales-grid.product-setup-grid .product-money-col:nth-child(5) { left: 400px; width: 88px; min-width: 88px; max-width: 88px; }
#sales-grid.product-setup-grid .product-money-col:nth-child(6) { left: 488px; width: 78px; min-width: 78px; max-width: 78px; }
#sales-grid.product-setup-grid .product-money-col:nth-child(7) { left: 566px; width: 74px; min-width: 74px; max-width: 74px; }
#sales-grid.product-setup-grid .product-money-col:nth-child(8) { left: 640px; width: 88px; min-width: 88px; max-width: 88px; }
#sales-grid.product-setup-grid .product-total-col { left: 728px; width: 96px; min-width: 96px; max-width: 96px; }
#sales-grid.product-setup-grid .product-margin-col { left: 824px; width: 72px; min-width: 72px; max-width: 72px; }
#sales-grid.product-setup-grid .product-rule-col {
  left: 896px;
  width: 128px;
  min-width: 128px;
  max-width: 128px;
}
#sales-grid.product-setup-grid .product-growth-col {
  left: 1024px;
  width: 76px;
  min-width: 76px;
  max-width: 76px;
}
#sales-grid.product-setup-grid .product-trend-col {
  left: 1100px;
  width: 94px;
  min-width: 94px;
  max-width: 94px;
}
#sales-grid.product-setup-grid .product-apply-col {
  left: 1194px;
  width: 72px;
  min-width: 72px;
  max-width: 72px;
  box-shadow: 14px 0 14px rgba(15, 23, 42, .08), 1px 0 0 var(--line);
}

#sales-grid.product-setup-grid.driver-grid th.product-name-col:first-child,
#sales-grid.product-setup-grid.driver-grid td.product-name-col:first-child {
  left: 0 !important;
  width: 160px !important;
  min-width: 160px !important;
  max-width: 160px !important;
}

#sales-grid.product-setup-grid.driver-grid .sticky-setup {
  min-width: revert-layer;
}

#sales-grid.product-setup-grid.driver-grid .product-status-col { min-width: 92px !important; }
#sales-grid.product-setup-grid.driver-grid .product-include-col { min-width: 70px !important; }
#sales-grid.product-setup-grid.driver-grid .product-units-col { min-width: 78px !important; }
#sales-grid.product-setup-grid.driver-grid .product-total-col { min-width: 96px !important; }
#sales-grid.product-setup-grid.driver-grid .product-margin-col { min-width: 72px !important; }
#sales-grid.product-setup-grid.driver-grid .product-rule-col { min-width: 128px !important; }
#sales-grid.product-setup-grid.driver-grid .product-growth-col { min-width: 76px !important; }
#sales-grid.product-setup-grid.driver-grid .product-trend-col { min-width: 94px !important; }
#sales-grid.product-setup-grid.driver-grid .product-apply-col { min-width: 72px !important; }

#sales-grid.product-setup-grid th:nth-child(n+15),
#sales-grid.product-setup-grid td:nth-child(n+15) {
  width: 96px;
  min-width: 96px;
  max-width: 96px;
}

#sales-grid.product-setup-grid .unit-sales-product-name {
  max-width: 132px;
}

#sales-grid.product-setup-grid .product-setup-input,
#sales-grid.product-setup-grid .product-setup-select {
  width: 100%;
  min-height: 28px;
  border: 1px solid #cad6e6;
  border-radius: 7px;
  background: #fff;
  color: var(--ink);
  font-size: 11px;
  font-weight: 750;
  text-align: right;
  padding: 3px 6px;
}

#sales-grid.product-setup-grid .product-setup-select {
  text-align: left;
  padding-right: 3px;
}

#sales-grid.product-setup-grid .product-status-col {
  text-align: center;
}

#sales-grid.product-setup-grid .product-rule-cell {
  padding: 5px 6px;
}

#sales-grid.product-setup-grid .forecast-method-select,
#sales-grid.product-setup-grid .growth-input {
  width: 100%;
  min-height: 28px;
  border: 1px solid #cad6e6;
  border-radius: 7px;
  background: #fff;
  color: var(--ink);
  font-size: 11px;
  font-weight: 750;
  padding: 3px 6px;
}

#sales-grid.product-setup-grid .forecast-method-select {
  text-align: left;
}

#sales-grid.product-setup-grid .growth-input {
  text-align: right;
}

#sales-grid.product-setup-grid .forecast-method-select:disabled,
#sales-grid.product-setup-grid .growth-input:disabled {
  background: #f3f6fa;
  color: #7a8799;
  cursor: not-allowed;
}

#sales-grid.product-setup-grid .history-rate {
  display: block;
  overflow: hidden;
  color: #51627a;
  font-size: 10px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#sales-grid.product-setup-grid .product-apply-col .apply-row-forecast {
  width: 100%;
  min-height: 28px;
  padding-left: 6px;
  padding-right: 6px;
}

.forecast-horizon-control {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 32px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.forecast-horizon-control input {
  width: 58px;
  min-height: 32px;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 4px 7px;
  color: var(--ink);
  background: var(--panel);
  font: inherit;
}

#sales-grid.product-setup-grid th.forecast-compare-month,
#sales-grid.product-setup-grid td.forecast-compare-month {
  background: rgba(37, 99, 235, 0.045);
}

#sales-grid.product-setup-grid th.locked-month {
  box-shadow: inset 0 2px 0 rgba(16, 185, 129, 0.42);
}

#sales-grid.product-setup-grid th.locked-actual-month,
#sales-grid.product-setup-grid td.locked-actual-month {
  background: #f8fafc;
}

.product-month-lock {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 48px;
  min-height: 20px;
  margin-top: 3px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--panel);
  color: var(--muted);
  font-size: 10px;
  font-weight: 850;
  cursor: pointer;
}

.product-month-lock.locked {
  border-color: rgba(16, 185, 129, 0.32);
  background: var(--green-bg);
  color: var(--green);
}

.product-month-lock.static {
  cursor: default;
  pointer-events: none;
}

#sales-grid.driver-grid input.case-cell.comparison-forecast-cell {
  border-color: rgba(37, 99, 235, 0.34);
  color: #1d4ed8;
}

#sales-grid.driver-grid input.case-cell.comparison-forecast-cell:disabled {
  color: #315b95;
  background: rgba(37, 99, 235, 0.035);
  opacity: 1;
}

.locked-cash-account-help {
  margin-top: 8px;
  border: 1px solid rgba(37, 99, 235, 0.18);
  border-radius: 7px;
  background: rgba(37, 99, 235, 0.055);
  color: #27486f;
  font-size: 11.5px;
  font-weight: 700;
  line-height: 1.35;
  padding: 8px 10px;
}

html[data-theme="dark"] #sales-grid.product-setup-grid .sticky-setup {
  background: #101928;
}

html[data-theme="dark"] #sales-grid.product-setup-grid thead .sticky-setup {
  background: #111c2b;
}

html[data-theme="dark"] #sales-grid.product-setup-grid .product-setup-input,
html[data-theme="dark"] #sales-grid.product-setup-grid .product-setup-select,
html[data-theme="dark"] #sales-grid.product-setup-grid .forecast-method-select,
html[data-theme="dark"] #sales-grid.product-setup-grid .growth-input {
  border-color: #53657d;
  background: #2a2f38;
  color: #ffffff;
}

/* COA workbench: keep the mapping grid dense, one-line, and locally scrollable. */
.product-setup-toggle {
  display: block;
  width: 100%;
  margin-top: 5px;
  border: 1px solid #cad6e6;
  border-radius: 6px;
  background: #fff;
  color: var(--brand-dark);
  cursor: pointer;
  font-size: 10px;
  font-weight: 850;
  padding: 3px 5px;
}

#sales-grid.product-setup-grid {
  min-width: 1880px;
}

#sales-grid.product-setup-grid .product-name-col {
  left: 0;
  width: 170px;
  min-width: 170px;
  max-width: 170px;
}

#sales-grid.product-setup-grid .product-status-col {
  left: 170px;
  width: 104px;
  min-width: 104px;
  max-width: 104px;
}

#sales-grid.product-setup-grid .product-rule-col {
  left: 274px;
  width: 136px;
  min-width: 136px;
  max-width: 136px;
}

#sales-grid.product-setup-grid .product-growth-col {
  left: 410px;
  width: 74px;
  min-width: 74px;
  max-width: 74px;
}

#sales-grid.product-setup-grid .product-trend-col {
  left: 484px;
  width: 104px;
  min-width: 104px;
  max-width: 104px;
}

#sales-grid.product-setup-grid .product-apply-col {
  left: 588px;
  width: 72px;
  min-width: 72px;
  max-width: 72px;
}

#sales-grid.product-setup-grid th:nth-child(n+7),
#sales-grid.product-setup-grid td:nth-child(n+7) {
  width: 96px;
  min-width: 96px;
  max-width: 96px;
}

#sales-grid.product-setup-grid.driver-grid .product-name-col:first-child {
  width: 170px !important;
  min-width: 170px !important;
  max-width: 170px !important;
}

#sales-grid.product-setup-grid.driver-grid .product-status-col { min-width: 104px !important; }
#sales-grid.product-setup-grid.driver-grid .product-rule-col { min-width: 136px !important; }
#sales-grid.product-setup-grid.driver-grid .product-growth-col { min-width: 74px !important; }
#sales-grid.product-setup-grid.driver-grid .product-trend-col { min-width: 104px !important; }

#sales-grid.product-setup-grid .product-setup-detail-row td {
  position: relative;
  height: auto;
  padding: 10px 12px;
  background: #f8fbff;
  white-space: normal;
}

.product-setup-detail {
  display: grid;
  grid-template-columns: repeat(6, minmax(96px, 1fr)) repeat(2, minmax(92px, .7fr)) auto;
  gap: 10px;
  align-items: end;
}

.product-setup-detail .field {
  margin: 0;
}

.product-setup-detail .field label,
.product-setup-metric span {
  display: block;
  margin-bottom: 4px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 850;
  text-transform: uppercase;
}

.product-setup-metric {
  min-height: 48px;
  padding: 6px 8px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: #fff;
}

.product-setup-metric strong {
  color: var(--ink);
  font-size: 12px;
}

html[data-theme="dark"] .product-setup-toggle,
html[data-theme="dark"] .product-setup-metric {
  background: #101927;
  border-color: #53657d;
}

html[data-theme="dark"] #sales-grid.product-setup-grid .product-setup-detail-row td {
  background: #0d1726;
}

/* Product Management final polish: keep the case driver focused and readable. */
.sales-grid-panel {
  overflow: hidden;
}

.sales-grid-panel .section-head {
  align-items: flex-start;
}

.sales-grid-panel .section-head h2 {
  letter-spacing: 0;
}

.sales-grid-panel .section-head .help {
  max-width: 660px;
}

#sales-grid.product-setup-grid {
  min-width: 0;
  width: max-content;
  table-layout: fixed;
}

#sales-grid.product-setup-grid th,
#sales-grid.product-setup-grid td {
  height: 40px;
  padding: 5px 8px;
  vertical-align: middle;
}

#sales-grid.product-setup-grid thead th {
  background: #eeeeeb;
  color: #222;
  border-bottom: 1px solid #d8d8d4;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0;
}

#sales-grid.product-setup-grid .sticky-setup {
  background: #fbfbf9;
  box-shadow: 1px 0 0 #ddddda;
}

#sales-grid.product-setup-grid thead .sticky-setup {
  background: #e7e7e3;
}

#sales-grid.product-setup-grid.driver-grid th.product-name-col:first-child,
#sales-grid.product-setup-grid.driver-grid td.product-name-col:first-child,
#sales-grid.product-setup-grid .product-name-col {
  left: 0 !important;
  width: 262px !important;
  min-width: 262px !important;
  max-width: 262px !important;
}

#sales-grid.product-setup-grid .product-driver-col {
  left: 262px !important;
  width: 342px !important;
  min-width: 342px !important;
  max-width: 342px !important;
  box-shadow: 16px 0 16px rgba(20, 20, 20, .08), 1px 0 0 #d9d9d5;
}

#sales-grid.product-setup-grid th:nth-child(n+3),
#sales-grid.product-setup-grid td:nth-child(n+3) {
  width: 86px;
  min-width: 86px;
  max-width: 86px;
}

#sales-grid.product-setup-grid .product-grid-product-cell {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto auto;
  gap: 6px;
  align-items: center;
  min-width: 0;
}

#sales-grid.product-setup-grid .product-grid-product-cell .manaforge-product-thumb {
  width: 28px;
  height: 28px;
}

#sales-grid.product-setup-grid .product-grid-product-cell .product-thumb-placeholder {
  visibility: hidden;
}

#sales-grid.product-setup-grid .unit-sales-product-name {
  max-width: 154px;
  color: #101010;
  font-size: 12px;
  font-weight: 700;
  text-align: left;
}

#sales-grid.product-setup-grid .product-row-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 10px;
  height: 10px;
  min-height: 10px;
  padding: 0;
  border-radius: 999px;
  border: 1px solid #d5d5d1;
  background: #f7f7f5;
  color: #4a4a46;
  font-size: 0;
  font-weight: 850;
  letter-spacing: 0;
  line-height: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#sales-grid.product-setup-grid .product-row-status.high {
  border-color: #bfe7d4;
  background: #eaf8f1;
  color: #16724f;
}

#sales-grid.product-setup-grid .product-row-status.review {
  border-color: #efc7c1;
  background: #fff2f0;
  color: #9b342b;
}

#sales-grid.product-setup-grid .product-row-status.low {
  border-color: #d9d9d5;
  background: #f3f3f0;
  color: #666660;
}

#sales-grid.product-setup-grid .product-setup-toggle {
  flex: 0 0 auto;
  display: inline-grid;
  place-items: center;
  width: 20px;
  height: 20px;
  min-height: 20px;
  margin-top: 0;
  border-color: #d2d2ce;
  border-radius: 999px;
  background: #fff;
  color: #1e1e1e;
  font-size: 0;
  padding: 0;
}

#sales-grid.product-setup-grid .product-setup-toggle::before {
  content: "";
  width: 0;
  height: 0;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-left: 6px solid currentColor;
  transform: translateX(1px);
  transition: transform .14s ease;
}

#sales-grid.product-setup-grid .product-setup-toggle[aria-expanded="true"]::before {
  transform: rotate(90deg) translateX(1px);
}

#sales-grid.product-setup-grid .product-setup-icon {
  width: 18px;
  height: 18px;
  border-color: #22d3ee;
  background: #fffff0;
  color: #1e1e1e;
  cursor: pointer;
}

#sales-grid.product-setup-grid .product-forecast-driver-cell {
  display: grid;
  grid-template-columns: minmax(126px, 1fr) 68px minmax(82px, .8fr) 46px;
  align-items: center;
  gap: 6px;
}

#sales-grid.product-setup-grid .product-driver-mom {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 5px;
  color: #5d5d58;
  font-size: 10px;
  font-weight: 650;
  text-transform: uppercase;
}

#sales-grid.product-setup-grid .forecast-method-select,
#sales-grid.product-setup-grid .growth-input {
  min-height: 28px;
  border-color: #cfcfca;
  border-radius: 6px;
  background: #fff;
  color: #171717;
  font-size: 11px;
  font-weight: 650;
}

#sales-grid.product-setup-grid .growth-input {
  padding-right: 5px;
}

#sales-grid.product-setup-grid .history-rate {
  color: #4f4f4a;
  font-size: 10.5px;
  font-weight: 650;
  line-height: 1.1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#sales-grid.product-setup-grid .apply-row-forecast {
  width: 100%;
  min-height: 28px;
  border-color: #cfcfca;
  border-radius: 6px;
  color: #111;
  font-size: 10.5px;
  font-weight: 700;
}

#sales-grid.product-setup-grid td:not(.forecast-month):not(.forecast-compare-month) input.case-cell:disabled {
  border-color: transparent;
  background: transparent;
  box-shadow: none;
  color: #151515;
  cursor: default;
  opacity: 1;
}

#sales-grid.product-setup-grid td.locked-actual-month input.case-cell:disabled {
  color: #111827;
  font-weight: 780;
}

#sales-grid.product-setup-grid input.case-cell {
  width: 58px;
  min-height: 29px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 650;
  text-align: center;
}

#sales-grid.product-setup-grid td:not(.forecast-month):not(.forecast-compare-month) input.case-cell:not(:disabled) {
  border-color: #d0d0cc;
  background: #fff;
  color: #151515;
}

#sales-grid.product-setup-grid td.forecast-month input.case-cell:not(:disabled) {
  border-color: #bfc3aa;
  background: #fff;
}

#sales-grid.product-setup-grid .forecast-growth-note {
  display: none;
}

#sales-grid.product-setup-grid td.forecast-month,
#sales-grid.product-setup-grid td.forecast-compare-month {
  position: relative;
}

#sales-grid.product-setup-grid .forecast-growth-note.manual-exception {
  display: none !important;
  position: absolute;
  top: 7px;
  right: 7px;
  width: 7px;
  height: 7px;
  min-height: 7px;
  margin: 0;
  border-radius: 999px;
  background: #1e1e1e;
  color: transparent;
  font-size: 0;
  line-height: 0;
}

#sales-grid.product-setup-grid .product-setup-detail-row td {
  background: #f5f5f2;
  border-bottom: 1px solid #ddddda;
}

#sales-grid.product-setup-grid .product-setup-detail {
  max-width: none;
}

#sales-grid.product-setup-grid .product-setup-full-detail {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
}

#sales-grid.product-setup-grid .product-setup-context {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 28px;
  padding: 4px 0 2px;
}

#sales-grid.product-setup-grid .product-setup-context > span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}

#sales-grid.product-setup-grid .product-setup-context em {
  min-width: 0;
  color: #5f5f5a;
  font-size: 11px;
  font-style: normal;
  font-weight: 750;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#sales-grid.product-setup-grid .product-setup-context .product-ims-chip {
  max-width: 160px;
  margin-top: 0;
}

#sales-grid.product-setup-grid .product-setup-inline-controls {
  display: flex;
  align-items: end;
  gap: 10px;
}

#sales-grid.product-setup-grid .product-setup-inline-controls .field {
  width: 132px;
  margin: 0;
}

#sales-grid.product-setup-grid .product-setup-sections {
  display: grid;
  grid-template-columns: minmax(420px, .95fr) minmax(520px, 1.05fr);
  gap: 12px;
  align-items: start;
}

#sales-grid.product-setup-grid .product-setup-sections .product-econ-card {
  margin: 0;
  border-color: #ddddda;
  box-shadow: none;
}

#sales-grid.product-setup-grid .product-setup-sections .product-econ-card > header {
  background: #eeeeeb;
  color: #1e1e1e;
}

#sales-grid.product-setup-grid .product-setup-sections .product-econ-card > header b {
  color: #1e1e1e;
  font-weight: 700;
}

#sales-grid.product-setup-grid .product-setup-sections .product-econ-card > header em {
  color: #5f5f5a;
  font-weight: 500;
}

#sales-grid.product-setup-grid .product-setup-sections .product-management-subhead span {
  font-weight: 700;
}

#sales-grid.product-setup-grid .month-kind {
  display: block;
}

#sales-grid.product-setup-grid .product-month-lock {
  display: flex;
  width: fit-content;
  min-width: 38px;
  min-height: 18px;
  margin: 3px auto 0;
  padding: 1px 6px;
  font-size: 9px;
  font-weight: 700;
}

html[data-theme="dark"] #sales-grid.product-setup-grid thead th {
  background: #1f2937;
  border-bottom-color: #38465a;
  color: #d8e0ed;
}

html[data-theme="dark"] #sales-grid.product-setup-grid .sticky-setup,
html[data-theme="dark"] #sales-grid.product-setup-grid.driver-grid th.product-name-col:first-child,
html[data-theme="dark"] #sales-grid.product-setup-grid.driver-grid td.product-name-col:first-child {
  background: #101928;
}

html[data-theme="dark"] #sales-grid.product-setup-grid .product-driver-col {
  box-shadow: 16px 0 16px rgba(0, 0, 0, .28), 1px 0 0 #263448;
}

html[data-theme="dark"] #sales-grid.product-setup-grid td:not(.forecast-month):not(.forecast-compare-month) input.case-cell:disabled {
  background: transparent;
  color: #edf3fb;
}

html[data-theme="dark"] #sales-grid.product-setup-grid .product-setup-toggle,
html[data-theme="dark"] #sales-grid.product-setup-grid .forecast-method-select,
html[data-theme="dark"] #sales-grid.product-setup-grid .growth-input,
html[data-theme="dark"] #sales-grid.product-setup-grid .apply-row-forecast {
  border-color: #45556d;
  background: #141f2f;
  color: #edf3fb;
}

html[data-theme="dark"] #sales-grid.product-setup-grid .product-driver-mom,
html[data-theme="dark"] #sales-grid.product-setup-grid .history-rate {
  color: #aab6c8;
}

html[data-theme="dark"] #sales-grid.product-setup-grid .product-row-status.low {
  border-color: #45556d;
  background: #182234;
  color: #aab6c8;
}

html[data-theme="dark"] #sales-grid.product-setup-grid .forecast-growth-note.manual-exception {
  background: #edf3fb;
}

.coa-workbench-panel {
  display: flex;
  flex-direction: column;
  max-height: calc(100vh - 210px);
  min-height: 360px;
  overflow: hidden;
}

.coa-workbench-panel > .section-head {
  flex: 0 0 auto;
}

.coa-workbench-scroll {
  flex: 1 1 auto;
  min-height: 0;
  max-width: 100%;
  overflow: auto;
  border-radius: 0;
  scrollbar-gutter: stable both-edges;
}

.coa-workbench-scroll .coa-map-table {
  min-width: 1760px;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
}

.coa-workbench-scroll .coa-map-table th,
.coa-workbench-scroll .coa-map-table td {
  height: 38px;
  max-height: 38px;
  padding: 6px 9px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: middle;
}

.coa-workbench-scroll .coa-map-table thead th {
  position: sticky;
  top: 0;
  z-index: 4;
  background: var(--panel);
  box-shadow: inset 0 -1px 0 #b8c9df;
}

.coa-workbench-scroll .coa-map-table th:nth-child(1),
.coa-workbench-scroll .coa-map-table td:nth-child(1) { width: 250px; }
.coa-workbench-scroll .coa-map-table th:nth-child(2),
.coa-workbench-scroll .coa-map-table td:nth-child(2) { width: 120px; }
.coa-workbench-scroll .coa-map-table th:nth-child(3),
.coa-workbench-scroll .coa-map-table td:nth-child(3) { width: 145px; }
.coa-workbench-scroll .coa-map-table th:nth-child(4),
.coa-workbench-scroll .coa-map-table td:nth-child(4) { width: 120px; }
.coa-workbench-scroll .coa-map-table th:nth-child(5),
.coa-workbench-scroll .coa-map-table td:nth-child(5) { width: 165px; }
.coa-workbench-scroll .coa-map-table th:nth-child(6),
.coa-workbench-scroll .coa-map-table td:nth-child(6) { width: 240px; }
.coa-workbench-scroll .coa-map-table th:nth-child(7),
.coa-workbench-scroll .coa-map-table td:nth-child(7) { width: 150px; }
.coa-workbench-scroll .coa-map-table th:nth-child(8),
.coa-workbench-scroll .coa-map-table td:nth-child(8) { width: 190px; }
.coa-workbench-scroll .coa-map-table th:nth-child(9),
.coa-workbench-scroll .coa-map-table td:nth-child(9) { width: 105px; text-align: right; }
.coa-workbench-scroll .coa-map-table th:nth-child(10),
.coa-workbench-scroll .coa-map-table td:nth-child(10) { width: 135px; text-align: right; }
.coa-workbench-scroll .coa-map-table th:nth-child(11),
.coa-workbench-scroll .coa-map-table td:nth-child(11) { width: 120px; text-align: right; }
.coa-workbench-scroll .coa-map-table th:nth-child(12),
.coa-workbench-scroll .coa-map-table td:nth-child(12) { width: 200px; }
.coa-workbench-scroll .coa-map-table th:nth-child(13),
.coa-workbench-scroll .coa-map-table td:nth-child(13) { width: 92px; text-align: right; }

.coa-workbench-scroll .coa-map-table td:first-child,
.coa-workbench-scroll .coa-map-table th:first-child {
  position: sticky;
  left: 0;
  z-index: 3;
  background: var(--panel);
  box-shadow: 16px 0 14px rgba(15, 23, 42, .06), 1px 0 0 var(--line);
}

.coa-workbench-scroll .coa-map-table thead th:first-child {
  z-index: 5;
}

.coa-workbench-scroll .coa-map-table .badge,
.coa-workbench-scroll .coa-map-table .mini-tag {
  margin-top: 0;
  vertical-align: middle;
  line-height: 1.1;
  padding-top: 2px;
  padding-bottom: 2px;
}

.coa-workbench-scroll .coa-map-table .btn.sm {
  min-height: 24px;
  height: 24px;
  padding: 2px 8px;
  font-size: 11px;
  line-height: 1;
}
/* Demo finance workbook surfaces */
.workbook-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 16px;
  margin-bottom: 12px;
}

.workbook-toolbar h2 {
  margin: 0 0 3px;
}

.inline-field {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 700;
  color: var(--muted);
}

.inline-field select {
  min-width: 160px;
}

.workbook-summary-strip {
  display: grid;
  grid-template-columns: repeat(5, minmax(130px, 1fr));
  gap: 0;
  padding: 0;
  overflow: hidden;
}

.workbook-summary-strip > div {
  padding: 12px 14px;
  border-right: 1px solid var(--line);
}

.workbook-summary-strip > div:last-child {
  border-right: 0;
}

.workbook-summary-strip span {
  display: block;
  color: var(--muted);
  font-size: 11px;
  text-transform: uppercase;
  font-weight: 800;
}

.workbook-summary-strip strong {
  display: block;
  margin-top: 4px;
  font-size: 18px;
}

.model-health-hero {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  margin-bottom: 12px;
  border-left: 5px solid var(--green);
  padding: 16px 18px;
}

.model-health-hero.warn {
  border-left-color: var(--amber);
}

.model-health-hero > div {
  min-width: 0;
}

.model-health-hero span {
  display: block;
  color: var(--muted);
  font-size: 10.5px;
  font-weight: 850;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.model-health-hero h2 {
  margin: 3px 0;
  color: var(--ink);
  font-size: 22px;
  line-height: 1.15;
}

.model-health-hero p {
  max-width: 820px;
  margin: 0;
  color: #475569;
  font-size: 12.5px;
  font-weight: 650;
  line-height: 1.35;
}

.model-health-hero aside {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 7px;
  flex: 0 0 auto;
}

.model-management-threads,
.model-connection-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 12px 0;
}

.management-thread-card,
.model-connection-card {
  display: block;
  min-width: 0;
  padding: 12px 13px;
  border: 1px solid var(--line);
  border-left: 4px solid #94a3b8;
  border-radius: 8px;
  background: var(--panel);
  color: var(--ink);
  text-decoration: none;
  box-shadow: var(--shadow);
}

.management-thread-card:hover,
.model-connection-card:hover {
  border-color: var(--brand);
  border-left-color: var(--brand);
  background: #f8fbff;
}

.management-thread-card.ok,
.model-connection-card.ok {
  border-left-color: var(--green);
}

.management-thread-card.warn,
.model-connection-card.warn {
  border-left-color: var(--amber);
}

.management-thread-card span,
.model-connection-card span {
  display: block;
  color: var(--muted);
  font-size: 10.5px;
  font-weight: 850;
  letter-spacing: .03em;
  text-transform: uppercase;
}

.management-thread-card strong,
.model-connection-card strong {
  display: block;
  margin-top: 5px;
  color: var(--ink);
  font-size: 18px;
  line-height: 1.1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.model-connection-card strong {
  font-size: 15px;
}

.management-thread-card em,
.model-connection-card em,
.management-thread-card p {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 650;
  line-height: 1.25;
}

.management-thread-card p {
  margin-bottom: 0;
}

.model-review-map,
.model-lineage-map {
  margin-top: 12px;
}

.model-review-map .compact-table td,
.model-lineage-map .compact-table td {
  vertical-align: top;
  font-size: 12px;
  line-height: 1.35;
}

.model-lineage-card-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}

.model-action-card,
.model-lineage-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 190px;
  gap: 12px;
  align-items: center;
  min-width: 0;
  padding: 11px 12px;
  border: 1px solid var(--line);
  border-left: 4px solid var(--amber);
  border-radius: 8px;
  color: var(--ink);
  text-decoration: none;
  background: #fff;
}

.model-action-card:hover,
.model-lineage-card:hover {
  border-color: var(--brand);
  border-left-color: var(--brand);
  background: #f8fbff;
}

.model-action-card.ok,
.model-lineage-card.ok {
  border-left-color: var(--green);
}

.model-action-card span,
.model-lineage-card span,
.model-action-card strong,
.model-lineage-card strong,
.model-action-card em,
.model-lineage-card em {
  display: block;
}

.model-action-card span,
.model-lineage-card span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.25;
}

.model-action-card strong,
.model-lineage-card strong {
  margin-top: 5px;
  color: var(--ink);
  font-size: 14px;
  line-height: 1.15;
}

.model-action-card p {
  margin: 4px 0 0;
  color: #526174;
  font-size: 12px;
  line-height: 1.3;
}

.model-action-card aside {
  text-align: right;
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
}

.model-action-card aside b {
  display: block;
  color: var(--ink);
  font-size: 14px;
}

.model-action-card aside i {
  display: inline-flex;
  margin-top: 6px;
  padding: 3px 8px;
  border: 1px solid #bfdbfe;
  border-radius: 999px;
  background: #eff6ff;
  color: var(--brand-dark);
  font-style: normal;
  font-weight: 850;
}

.model-action-card aside em,
.model-lineage-card em {
  margin-top: 3px;
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
}

@media (max-width: 1200px) {
  .model-management-threads,
  .model-connection-strip,
  .model-lineage-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .model-lineage-card-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .model-management-threads,
  .model-connection-strip,
  .model-lineage-card-grid,
  .workbook-summary-strip {
    grid-template-columns: 1fr;
  }

  .model-health-hero,
  .model-action-card {
    display: block;
  }

  .model-health-hero aside,
  .model-action-card aside {
    align-items: flex-start;
    text-align: left;
    margin-top: 10px;
  }
}

.model-check-table tr.warn td:first-child {
  border-left: 3px solid #0ea5e9;
}

.model-check-table tr.ok td:first-child {
  border-left: 3px solid #059669;
}

.entity-rule-builder {
  display: grid;
  grid-template-columns: 110px 190px minmax(210px, 1fr) minmax(180px, 1fr) auto auto minmax(190px, auto);
  gap: 8px;
  align-items: center;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid var(--line);
}

.driver-rule-builder {
  display: grid;
  grid-template-columns: 100px 170px 130px 190px minmax(190px, 1fr) minmax(160px, 1fr) auto auto minmax(180px, auto);
  gap: 8px;
  align-items: center;
  margin-top: 10px;
}

.driver-rule-builder input,
.driver-rule-builder select {
  width: 100%;
  height: 30px;
  padding: 4px 8px;
  font-size: 12px;
}

.entity-rule-builder input,
.entity-rule-builder select {
  width: 100%;
  height: 30px;
  padding: 4px 8px;
  font-size: 12px;
}

.entity-rule-table {
  margin-top: 10px;
}

.section-head.subhead {
  margin-top: 14px;
  padding-top: 10px;
  border-top: 1px solid var(--line);
}

.status-badge {
  display: inline-flex;
  align-items: center;
  height: 22px;
  padding: 0 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
}

.status-badge.ready {
  color: #057a55;
  background: #def7ec;
}

.status-badge.review {
  color: #0f7490;
  background: #e0f7ff;
}

.status-badge.muted {
  color: var(--muted);
  background: #eef2f7;
}

.ui-badge,
.period-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  max-width: 100%;
  min-height: 18px;
  padding: 2px 7px;
  border: 1px solid #d8e2f0;
  border-radius: 999px;
  background: #f8fafc;
  color: #475569;
  font-size: 9.5px;
  font-weight: 850;
  line-height: 1.2;
  letter-spacing: 0;
  text-transform: uppercase;
  white-space: nowrap;
}

.ui-badge.ready,
.period-badge.ready {
  border-color: #b8d9c8;
  background: #f2fbf6;
  color: #176b45;
}

.ui-badge.model,
.period-badge.model {
  border-color: #b8d9e5;
  background: #eef8fb;
  color: #0f6683;
}

.ui-badge.review,
.period-badge.review {
  border-color: #e0c985;
  background: #fffaf0;
  color: #7a5b16;
}

.ui-badge.risk,
.period-badge.risk {
  border-color: #e5a6a0;
  background: #fff7f6;
  color: #9f2b23;
}

.grid-row-label-head {
  color: #334155;
  font-weight: 850;
  text-align: left !important;
}

.driver-edit-table input,
.driver-edit-table select,
.driver-month-table input,
.driver-month-table select,
.hiring-driver-table input,
.hiring-driver-table select,
.alias-edit-table input,
.alias-edit-table select,
.bs-assumption-table input,
.bs-assumption-table select {
  width: 100%;
  min-width: 70px;
  height: 28px;
  padding: 4px 7px;
  font-size: 12px;
}

.driver-edit-table th,
.driver-edit-table td,
.driver-month-table th,
.driver-month-table td,
.hiring-driver-table th,
.hiring-driver-table td,
.alias-edit-table th,
.alias-edit-table td,
.bs-assumption-table th,
.bs-assumption-table td,
.model-bs-table th,
.model-bs-table td,
.model-pnl-table th,
.model-pnl-table td,
.model-driver-table th,
.model-driver-table td,
.model-headcount-forecast-table th,
.model-headcount-forecast-table td,
.model-headcount-table th,
.model-headcount-table td,
.entity-suggestion-table th,
.entity-suggestion-table td,
.entity-rule-table th,
.entity-rule-table td,
.entity-candidate-table th,
.entity-candidate-table td,
.entity-actual-pl-table th,
.entity-actual-pl-table td,
.driver-mapping-candidate-table th,
.driver-mapping-candidate-table td,
.driver-mapping-rule-table th,
.driver-mapping-rule-table td,
.driver-actual-table th,
.driver-actual-table td {
  white-space: nowrap;
}

.cell-help {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 600;
}

/* Lighter finance-grid finish for P&L and Cash. */
html:not([data-theme="dark"]) {
  --finance-header-bg: #fcfdff;
  --finance-section-bg: #f6faff;
  --finance-section-border: #d5e2f2;
  --finance-summary-bg: #f8fafc;
  --finance-result-bg: #ffffff;
  --finance-child-bg: #fcfdff;
  --finance-grid-line: #e2e9f2;
}

html:not([data-theme="dark"]) .pl-table-scroll,
html:not([data-theme="dark"]) .cash-forecast-panel,
html:not([data-theme="dark"]) .cash-format-panel,
html:not([data-theme="dark"]) .pl-format-panel,
html:not([data-theme="dark"]) .pl-view-toggle {
  border-color: #d9e3ef;
  box-shadow: 0 5px 16px rgba(15, 23, 42, .07);
}

html:not([data-theme="dark"]) .cash-format-panel,
html:not([data-theme="dark"]) .pl-format-panel {
  padding: 6px 10px;
  background: #ffffff;
}

html:not([data-theme="dark"]) .pl-matrix,
html:not([data-theme="dark"]) .combined-cash-matrix,
html:not([data-theme="dark"]) .pl-matrix .pl-number-btn,
html:not([data-theme="dark"]) .combined-cash-matrix .cash-number-btn,
html:not([data-theme="dark"]) .combined-cash-matrix .cash-actual-detail-btn {
  color: #0f172a;
  font-size: 11.6px !important;
}

html:not([data-theme="dark"]) .pl-matrix th,
html:not([data-theme="dark"]) .pl-matrix td,
html:not([data-theme="dark"]) .combined-cash-matrix th,
html:not([data-theme="dark"]) .combined-cash-matrix td {
  height: 31px;
  min-height: 31px;
  padding-top: 5px;
  padding-bottom: 5px;
  border-bottom-color: var(--finance-grid-line);
}

html:not([data-theme="dark"]) .pl-matrix thead th,
html:not([data-theme="dark"]) .combined-cash-matrix thead th,
html:not([data-theme="dark"]) .combined-cash-matrix th.actual-week,
html:not([data-theme="dark"]) .combined-cash-matrix th.forecast-week {
  background: var(--finance-header-bg) !important;
  border-bottom: 1px solid #cfdbea;
  color: #5b6b82;
  font-size: 10.3px !important;
  font-weight: 760;
}

html:not([data-theme="dark"]) .pl-matrix thead th.locked-actual-month {
  background: #f8fafc !important;
  color: #475569;
}

html:not([data-theme="dark"]) .pl-matrix thead th.generated-forecast-month {
  background: #eef8fb !important;
  color: #075985;
}

html:not([data-theme="dark"]) .combined-cash-matrix thead th.locked-actual-week,
html:not([data-theme="dark"]) .combined-cash-matrix td.locked-actual-week {
  background: #f8fafc !important;
  color: #475569;
}

html:not([data-theme="dark"]) .combined-cash-matrix thead th.generated-forecast-week,
html:not([data-theme="dark"]) .combined-cash-matrix td.generated-forecast-week {
  background: #eef8fb !important;
  color: #075985;
}

html:not([data-theme="dark"]) .pl-matrix tbody td:not(:first-child),
html:not([data-theme="dark"]) .pl-matrix tbody td:not(:first-child) .pl-number-btn,
html:not([data-theme="dark"]) .pl-matrix tbody td:not(:first-child) .pl-cell-main,
html:not([data-theme="dark"]) .combined-cash-matrix tbody td:not(:first-child),
html:not([data-theme="dark"]) .combined-cash-matrix tbody td:not(:first-child) .cash-number-btn {
  font-weight: 500;
}

html:not([data-theme="dark"]) .pl-matrix tr.section-row td,
html:not([data-theme="dark"]) .pl-matrix tr.section-row td:first-child,
html:not([data-theme="dark"]) .pl-matrix tr.section-row td:last-child,
html:not([data-theme="dark"]) .combined-cash-matrix tr.cash-section-row td,
html:not([data-theme="dark"]) .combined-cash-matrix tr.cash-section-row td:first-child,
html:not([data-theme="dark"]) .combined-cash-matrix tr.cash-section-row td:last-child {
  --sticky-bg: var(--finance-section-bg);
  height: 35px;
  min-height: 35px;
  background: var(--finance-section-bg) !important;
  border-top: 5px solid #ffffff;
  border-bottom: 1px solid var(--finance-section-border);
  color: #0f4d94;
  font-size: 11.5px !important;
  font-weight: 760;
}

html:not([data-theme="dark"]) .pl-matrix tr.pl-basis-section td,
html:not([data-theme="dark"]) .pl-matrix tr.pl-basis-section td:first-child,
html:not([data-theme="dark"]) .pl-matrix tr.pl-basis-section td:last-child {
  height: 38px;
  min-height: 38px;
  border-top: 7px solid #f4f7fb;
  border-bottom: 1px solid #d5e0ec;
  font-size: 12px;
  font-weight: 760;
}

html:not([data-theme="dark"]) .pl-matrix tr.subtotal td,
html:not([data-theme="dark"]) .pl-matrix tr.subtotal td:first-child,
html:not([data-theme="dark"]) .pl-matrix tr.subtotal td:last-child,
html:not([data-theme="dark"]) .combined-cash-matrix tr.subtotal td,
html:not([data-theme="dark"]) .combined-cash-matrix tr.subtotal td:first-child,
html:not([data-theme="dark"]) .combined-cash-matrix tr.subtotal td:last-child,
html:not([data-theme="dark"]) .combined-cash-matrix tr.cash-total-row td,
html:not([data-theme="dark"]) .combined-cash-matrix tr.cash-total-row td:first-child,
html:not([data-theme="dark"]) .combined-cash-matrix tr.cash-total-row td:last-child {
  --sticky-bg: var(--finance-summary-bg);
  height: 33px;
  min-height: 33px;
  background: var(--finance-summary-bg) !important;
  border-top: 1px solid #d4deeb;
  border-bottom: 1px solid #e2e9f2;
  font-weight: 700;
}

html:not([data-theme="dark"]) .pl-matrix tr.gp-result-row td,
html:not([data-theme="dark"]) .pl-matrix tr.gp-result-row td:first-child,
html:not([data-theme="dark"]) .pl-matrix tr.gp-result-row td:last-child,
html:not([data-theme="dark"]) .combined-cash-matrix tr.cash-result-row td,
html:not([data-theme="dark"]) .combined-cash-matrix tr.cash-result-row td:first-child,
html:not([data-theme="dark"]) .combined-cash-matrix tr.cash-result-row td:last-child {
  --sticky-bg: var(--finance-result-bg);
  background: var(--finance-result-bg) !important;
  border-top: 2px solid #334155;
  border-bottom: 1px solid #d5e0ec;
  font-weight: 760;
}

html:not([data-theme="dark"]) .pl-matrix tr.drillrow td,
html:not([data-theme="dark"]) .pl-matrix .pl-child-row td,
html:not([data-theme="dark"]) .combined-cash-matrix tr.cash-child-row td,
html:not([data-theme="dark"]) .combined-cash-matrix tr.cash-inline-detail-row td {
  --sticky-bg: var(--finance-child-bg);
  height: 29px;
  min-height: 29px;
  background: var(--finance-child-bg);
  color: #334155;
  font-size: 11.2px !important;
}

html:not([data-theme="dark"]) .pl-matrix tr.statement-line td,
html:not([data-theme="dark"]) .pl-matrix tr.statement-line td:first-child,
html:not([data-theme="dark"]) .pl-matrix tr.statement-line td:last-child {
  --sticky-bg: #f7fbff;
  background: #f7fbff;
  color: #123b70;
  border-top: 1px solid #d7e4f3;
  border-bottom: 1px solid #d7e4f3;
}

html:not([data-theme="dark"]) .pl-matrix td.cf-forecast,
html:not([data-theme="dark"]) .pl-matrix thead th.forecast-col,
html:not([data-theme="dark"]) .combined-cash-matrix th.forecast-week,
html:not([data-theme="dark"]) .combined-cash-matrix td.forecast-week,
html:not([data-theme="dark"]) .combined-cash-matrix td.cash-cf-forecast {
  background: #fff9ec !important;
}

html:not([data-theme="dark"]) .pl-number-btn,
html:not([data-theme="dark"]) .cash-number-btn,
html:not([data-theme="dark"]) .cash-actual-detail-btn {
  min-height: 21px;
  font-weight: 500;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

html:not([data-theme="dark"]) .pl-matrix tbody td:not(:first-child) strong,
html:not([data-theme="dark"]) .combined-cash-matrix tbody td:not(:first-child) strong {
  font-weight: 560;
}

html:not([data-theme="dark"]) .pl-matrix tr.subtotal td:not(:first-child),
html:not([data-theme="dark"]) .pl-matrix tr.subtotal td:not(:first-child) .pl-number-btn,
html:not([data-theme="dark"]) .combined-cash-matrix tr.subtotal td:not(:first-child),
html:not([data-theme="dark"]) .combined-cash-matrix tr.subtotal td:not(:first-child) .cash-number-btn,
html:not([data-theme="dark"]) .combined-cash-matrix tr.cash-total-row td:not(:first-child),
html:not([data-theme="dark"]) .combined-cash-matrix tr.cash-total-row td:not(:first-child) .cash-number-btn {
  font-weight: 560;
}

html:not([data-theme="dark"]) .pl-number-btn:hover,
html:not([data-theme="dark"]) .pl-number-btn:focus-visible,
html:not([data-theme="dark"]) .cash-number-btn:hover,
html:not([data-theme="dark"]) .cash-number-btn:focus-visible,
html:not([data-theme="dark"]) .cash-actual-detail-btn:hover,
html:not([data-theme="dark"]) .cash-actual-detail-btn:focus-visible {
  background: #f1f6ff;
  box-shadow: inset 0 0 0 1px rgba(31, 111, 235, .12);
}

html:not([data-theme="dark"]) .pl-matrix td.cf-margin-warn,
html:not([data-theme="dark"]) .pl-matrix td.cf-revenue-variance,
html:not([data-theme="dark"]) .pl-matrix td.cf-variance,
html:not([data-theme="dark"]) .combined-cash-matrix td.cash-cf-week-variance,
html:not([data-theme="dark"]) .combined-cash-matrix td.cash-cf-forecast-variance {
  box-shadow: inset 0 -1.5px 0 var(--cf-alert-color, #7c3aed);
}

html:not([data-theme="dark"]) .pl-matrix td.cf-margin-warn:first-child,
html:not([data-theme="dark"]) .pl-matrix td.cf-revenue-variance:first-child {
  box-shadow: 28px 0 0 var(--sticky-bg), 36px 0 14px rgba(15, 23, 42, .05), 1px 0 0 var(--line), inset 0 -1.5px 0 var(--cf-alert-color, #d1453b);
}

html:not([data-theme="dark"]) .pl-matrix td.cf-variance:first-child {
  box-shadow: 28px 0 0 var(--sticky-bg), 36px 0 14px rgba(15, 23, 42, .05), 1px 0 0 var(--line), inset 0 -1.5px 0 var(--cf-alert-color, #7c3aed);
}

html:not([data-theme="dark"]) .pl-matrix td.cf-margin-warn:last-child,
html:not([data-theme="dark"]) .pl-matrix td.cf-revenue-variance:last-child {
  box-shadow: -46px 0 0 var(--sticky-bg), -56px 0 14px rgba(15, 23, 42, .05), -1px 0 0 var(--line), inset 0 -1.5px 0 var(--cf-alert-color, #d1453b);
}

html:not([data-theme="dark"]) .pl-matrix td.cf-variance:last-child {
  box-shadow: -46px 0 0 var(--sticky-bg), -56px 0 14px rgba(15, 23, 42, .05), -1px 0 0 var(--line), inset 0 -1.5px 0 var(--cf-alert-color, #7c3aed);
}

.cash-risk-cell {
  background: linear-gradient(180deg, rgba(200, 58, 50, .08), rgba(200, 58, 50, .02));
}

.cash-week-value.cash-risk-breach,
.cash-risk-breach-cell .cash-number-btn {
  color: var(--red);
  box-shadow: inset 0 -1.5px 0 rgba(200, 58, 50, .9);
}

.cash-week-value.cash-risk-breach::after {
  content: "!";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  margin-left: 5px;
  border-radius: 999px;
  background: rgba(200, 58, 50, .1);
  color: var(--red);
  font-size: 10px;
  font-weight: 900;
  vertical-align: 1px;
}

.cash-risk-breach-cell {
  background: linear-gradient(180deg, rgba(200, 58, 50, .08), rgba(255, 255, 255, .02)) !important;
}

.cash-risk-breach-cell .cash-number-btn:hover,
.cash-week-value.cash-risk-breach:hover {
  background: rgba(200, 58, 50, .09);
}

.cash-dashboard-highlight,
.cash-dashboard-highlight .cash-number-btn {
  position: relative;
  outline: 3px solid var(--manaforge-highlight) !important;
  outline-offset: -3px;
  background: #fffde7 !important;
  animation: cash-dashboard-highlight-pulse 1.2s ease-in-out 0s 4;
}

@keyframes cash-dashboard-highlight-pulse {
  0%, 100% {
    box-shadow: inset 0 0 0 0 rgba(201, 211, 0, 0), 0 0 0 0 rgba(201, 211, 0, 0);
  }
  50% {
    box-shadow: inset 0 0 0 2px rgba(201, 211, 0, .55), 0 0 0 3px rgba(201, 211, 0, .2);
  }
}

.cash-week-risk-panel {
  display: grid;
  gap: 14px;
  margin: 12px 0;
  padding: 14px;
  border: 1px solid #e0e7ef;
  border-radius: 8px;
  background: #fbfdff;
}

.cash-week-risk-panel.neg {
  border-color: #f1b8b4;
  background: linear-gradient(180deg, #fff8f7, #ffffff);
}

.cash-week-risk-panel.warn {
  border-color: #f0d79a;
  background: linear-gradient(180deg, #f0fbfd, #ffffff);
}

.cash-week-risk-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: start;
  padding-bottom: 12px;
  border-bottom: 1px solid #e5edf6;
}

.cash-week-risk-head > div {
  display: grid;
  gap: 3px;
}

.cash-week-risk-head span,
.cash-week-risk-grid h4 {
  color: #617089;
  font-size: 10.5px;
  font-weight: 850;
  letter-spacing: 0;
  text-transform: uppercase;
}

.cash-week-risk-head strong {
  color: var(--ink);
  font-size: 16px;
  line-height: 1.1;
}

.cash-week-risk-head em,
.cash-risk-driver em,
.cash-risk-action em {
  color: var(--muted);
  font-style: normal;
}

.cash-week-risk-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 12px;
}

.cash-week-risk-grid > div {
  display: grid;
  align-content: start;
  gap: 7px;
}

.cash-risk-driver,
.cash-risk-action {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2px 10px;
  padding: 9px 10px;
  border: 1px solid #dbe5f2;
  border-radius: 8px;
  background: #ffffff;
  text-decoration: none;
}

.cash-risk-driver:hover,
.cash-risk-action:hover {
  border-color: #b9cbe5;
  background: #f7fbff;
}

.cash-risk-driver span,
.cash-risk-action span {
  color: #26384f;
  font-size: 12px;
  font-weight: 800;
}

.cash-risk-driver strong,
.cash-risk-action strong {
  color: var(--ink);
  font-size: 12px;
  font-weight: 800;
}

.cash-risk-driver.neg strong,
.cash-risk-action.neg strong {
  color: var(--red);
}

.cash-risk-driver.pos strong,
.cash-risk-action.pos strong {
  color: var(--green);
}

.cash-risk-driver em,
.cash-risk-action em {
  grid-column: 1 / -1;
  font-size: 11px;
}

.cash-risk-formula td {
  height: 30px;
}

.cash-risk-formula tr.result td {
  border-top: 2px solid #334155;
  font-weight: 850;
}

html[data-theme="dark"] .cash-week-risk-panel {
  border-color: #334155;
  background: #101928;
}

html[data-theme="dark"] .cash-risk-driver,
html[data-theme="dark"] .cash-risk-action {
  border-color: #334155;
  background: #111c2b;
}

@media (max-width: 900px) {
  .cash-week-risk-head,
  .cash-week-risk-grid {
    grid-template-columns: 1fr;
  }
}

/* Issue indicators: color the number; avoid extra marks around the value. */
html:not([data-theme="dark"]) .pl-matrix td.cf-margin-warn,
html:not([data-theme="dark"]) .pl-matrix td.cf-revenue-variance,
html:not([data-theme="dark"]) .pl-matrix td.cf-variance,
html:not([data-theme="dark"]) .combined-cash-matrix td.cash-cf-week-variance,
html:not([data-theme="dark"]) .combined-cash-matrix td.cash-cf-forecast-variance {
  position: relative;
  color: var(--cf-alert-text, #5b21b6) !important;
  box-shadow: none !important;
  background-image: none !important;
}

html:not([data-theme="dark"]) .pl-matrix td.cf-margin-warn:first-child,
html:not([data-theme="dark"]) .pl-matrix td.cf-revenue-variance:first-child,
html:not([data-theme="dark"]) .pl-matrix td.cf-variance:first-child {
  box-shadow: 28px 0 0 var(--sticky-bg), 36px 0 14px rgba(15, 23, 42, .05), 1px 0 0 var(--line) !important;
}

html:not([data-theme="dark"]) .pl-matrix td.cf-margin-warn:last-child,
html:not([data-theme="dark"]) .pl-matrix td.cf-revenue-variance:last-child,
html:not([data-theme="dark"]) .pl-matrix td.cf-variance:last-child {
  box-shadow: -46px 0 0 var(--sticky-bg), -56px 0 14px rgba(15, 23, 42, .05), -1px 0 0 var(--line) !important;
}

html:not([data-theme="dark"]) .pl-matrix td.cf-margin-warn .pl-number-btn,
html:not([data-theme="dark"]) .pl-matrix td.cf-revenue-variance .pl-number-btn,
html:not([data-theme="dark"]) .pl-matrix td.cf-variance .pl-number-btn,
html:not([data-theme="dark"]) .pl-matrix td.cf-margin-warn .pl-cell-main,
html:not([data-theme="dark"]) .pl-matrix td.cf-revenue-variance .pl-cell-main,
html:not([data-theme="dark"]) .pl-matrix td.cf-variance .pl-cell-main,
html:not([data-theme="dark"]) .combined-cash-matrix td.cash-cf-week-variance .cash-number-btn,
html:not([data-theme="dark"]) .combined-cash-matrix td.cash-cf-forecast-variance .cash-number-btn {
  color: var(--cf-alert-text, #5b21b6) !important;
}

html:not([data-theme="dark"]) [style*="--cf-alert-color: #d1453b"],
html:not([data-theme="dark"]) [style*="--cf-alert-color:#d1453b"] {
  --cf-alert-text: #991b1b;
}

html:not([data-theme="dark"]) [style*="--cf-alert-color: #7c3aed"],
html:not([data-theme="dark"]) [style*="--cf-alert-color:#7c3aed"] {
  --cf-alert-text: #5b21b6;
}

html:not([data-theme="dark"]) [style*="--cf-alert-color: #14b8c6"],
html:not([data-theme="dark"]) [style*="--cf-alert-color:#14b8c6"] {
  --cf-alert-text: #075985;
}

html:not([data-theme="dark"]) [style*="--cf-alert-color: #0f766e"],
html:not([data-theme="dark"]) [style*="--cf-alert-color:#0f766e"] {
  --cf-alert-text: #115e59;
}

html:not([data-theme="dark"]) .cash-week-value.cash-risk-breach,
html:not([data-theme="dark"]) .cash-risk-breach-cell .cash-number-btn {
  box-shadow: none;
}

/* P&L matrix sizing polish: content-height by default, capped at the viewport. */
.pl-page {
  height: auto;
  min-height: 0;
  max-height: calc(100dvh - 88px);
}

.pl-table-scroll.table-scroll,
.pl-table-scroll {
  flex: 0 1 auto;
  height: auto;
  min-height: 0;
  max-height: calc(100dvh - 176px);
  overflow-x: hidden !important;
  overflow-y: auto;
}

.pl-matrix {
  background: var(--panel);
}

.pl-matrix th:first-child,
.pl-matrix td:first-child {
  box-shadow: 1px 0 0 var(--line), 8px 0 10px rgba(15, 23, 42, .035) !important;
}

.pl-matrix th:last-child,
.pl-matrix td:last-child {
  box-shadow: -1px 0 0 var(--line), -8px 0 10px rgba(15, 23, 42, .035) !important;
}

.pl-matrix th:first-child::before,
.pl-matrix th:first-child::after,
.pl-matrix td:first-child::before,
.pl-matrix td:first-child::after,
.pl-matrix th:last-child::before,
.pl-matrix th:last-child::after,
.pl-matrix td:last-child::before,
.pl-matrix td:last-child::after {
  display: none !important;
}

.pl-matrix td:not(:first-child):not(:last-child),
.pl-matrix .pl-number-btn,
.pl-matrix .pl-cell-main,
.pl-matrix .pl-cell-help {
  overflow: hidden;
}

.pl-matrix .pl-number-btn {
  display: block;
  min-height: 0;
  padding-top: 1px;
  padding-bottom: 1px;
}

.pl-matrix .pl-cell-main {
  line-height: 1.12;
}

.pl-matrix .pl-cell-help {
  margin-top: 1px;
  line-height: 1;
}

.pl-matrix tr.gp-result-row td,
.pl-matrix tr.gp-result-row td:first-child,
.pl-matrix tr.gp-result-row td:last-child {
  height: 42px;
  min-height: 42px;
  padding-top: 6px;
  padding-bottom: 5px;
}

.pl-matrix tr.operating-income-row td,
.pl-matrix tr.operating-income-row td:first-child,
.pl-matrix tr.operating-income-row td:last-child {
  height: 36px;
  min-height: 36px;
  padding-top: 5px;
  padding-bottom: 5px;
}

/* Final P&L grid paint guard: avoid sticky-column shadows masking real month values. */
.pl-matrix th:first-child,
.pl-matrix td:first-child,
.pl-matrix .pl-child-row.level-2 td:first-child,
.pl-matrix .pl-child-row.level-3 td:first-child,
html:not([data-theme="dark"]) .pl-matrix td.cf-margin-warn:first-child,
html:not([data-theme="dark"]) .pl-matrix td.cf-revenue-variance:first-child,
html:not([data-theme="dark"]) .pl-matrix td.cf-variance:first-child {
  box-shadow: 1px 0 0 var(--line), 6px 0 8px rgba(15, 23, 42, .025) !important;
}

.pl-matrix th:last-child,
.pl-matrix td:last-child,
html:not([data-theme="dark"]) .pl-matrix td.cf-margin-warn:last-child,
html:not([data-theme="dark"]) .pl-matrix td.cf-revenue-variance:last-child,
html:not([data-theme="dark"]) .pl-matrix td.cf-variance:last-child {
  box-shadow: -1px 0 0 var(--line), -6px 0 8px rgba(15, 23, 42, .025) !important;
}

html:not([data-theme="dark"]) .pl-matrix td.cf-margin-warn:not(:first-child):not(:last-child),
html:not([data-theme="dark"]) .pl-matrix td.cf-revenue-variance:not(:first-child):not(:last-child),
html:not([data-theme="dark"]) .pl-matrix td.cf-variance:not(:first-child):not(:last-child) {
  box-shadow: none !important;
}

/* Conditional-format cells are positioned for their paint treatment only; never let them shift rows. */
.pl-matrix tbody td.cf-margin-warn,
.pl-matrix tbody td.cf-revenue-variance,
.pl-matrix tbody td.cf-variance,
.pl-page.view-cash .pl-matrix tbody tr.subtotal.statement-line td,
.pl-page.view-accrual .pl-matrix tbody tr.subtotal.statement-line td {
  top: auto !important;
}

.pl-number-btn:focus-visible,
.cash-number-btn:focus-visible,
.cash-actual-detail-btn:focus-visible,
.pl-lock-month-btn:focus-visible,
.cash-lock-week-btn:focus-visible {
  outline: 2px solid #2563eb !important;
  outline-offset: -2px;
  box-shadow: inset 0 0 0 1px rgba(37, 99, 235, .24), 0 0 0 3px rgba(37, 99, 235, .12) !important;
  text-decoration: underline;
}

.pl-number-btn:disabled:focus-visible {
  outline-color: #94a3b8 !important;
  box-shadow: inset 0 0 0 1px rgba(148, 163, 184, .32) !important;
}

/* Keep P&L result dividers crisp without overpowering the values. */
html:not([data-theme="dark"]) .pl-matrix tr.gp-result-row td,
html:not([data-theme="dark"]) .pl-matrix tr.gp-result-row td:first-child,
html:not([data-theme="dark"]) .pl-matrix tr.gp-result-row td:last-child,
html:not([data-theme="dark"]) .pl-matrix tr.operating-income-row td,
html:not([data-theme="dark"]) .pl-matrix tr.operating-income-row td:first-child,
html:not([data-theme="dark"]) .pl-matrix tr.operating-income-row td:last-child {
  border-top-width: 1px !important;
  border-top-color: #5f6f85 !important;
}
/* Simplified owner/CFO decision tool. */
.owner-page {
  --ink: #101828;
  --muted: #667085;
  --line: #dbe5f1;
  color: #101828;
  display: grid;
  gap: 16px;
}
.owner-hero {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) minmax(320px, 1.25fr);
  gap: 16px;
  align-items: start;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fbff;
}
.owner-hero.compact {
  grid-template-columns: 1fr;
}
.owner-hero span,
.owner-panel-head span,
.owner-answer-card span,
.owner-popup section span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: uppercase;
}
.owner-hero h2 {
  margin: 4px 0;
  color: var(--ink);
  font-size: 26px;
  line-height: 1.1;
}
.owner-hero p {
  max-width: 640px;
  margin: 0;
  color: var(--muted);
}
.owner-plan-picker {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: end;
}
.owner-plan-picker label {
  display: grid;
  gap: 4px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 750;
}
.owner-plan-picker label span {
  display: grid;
  gap: 2px;
}
.owner-plan-picker label em {
  color: var(--muted);
  font-size: 10px;
  font-style: normal;
  font-weight: 650;
}
.owner-plan-picker input,
.owner-plan-picker select {
  width: 132px;
  padding: 8px 9px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
}
.owner-plan-chip {
  min-height: 38px;
  border: 1px solid #cddced;
  border-radius: 999px;
  background: #fff;
  color: var(--ink);
  padding: 7px 12px;
  font-weight: 800;
  cursor: pointer;
}
.owner-plan-chip b {
  color: var(--brand);
}
.owner-answer-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(150px, 1fr));
  gap: 10px;
}
.owner-decision-card {
  display: grid;
  grid-template-columns: minmax(320px, 1.1fr) minmax(420px, 1.4fr);
  gap: 18px;
  align-items: stretch;
  padding: 20px;
  border: 1px solid var(--line);
  border-left: 6px solid var(--brand);
  border-radius: 8px;
  background: #fff;
}
.owner-decision-card.neg {
  border-left-color: var(--red);
  background: #fffafa;
}
.owner-decision-card.pos {
  border-left-color: var(--green);
  background: #fbfffc;
}
.owner-decision-card span,
.owner-decision-math span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .02em;
  text-transform: uppercase;
}
.owner-decision-card h2 {
  margin: 4px 0 8px;
  color: var(--ink);
  font-size: 32px;
  line-height: 1.05;
}
.owner-decision-card p {
  max-width: 760px;
  margin: 0;
  color: #334155;
  font-size: 15px;
  line-height: 1.4;
}
.owner-decision-math {
  display: grid;
  grid-template-columns: repeat(3, minmax(120px, 1fr));
  gap: 10px;
}
.owner-decision-math div {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 12px;
  border: 1px solid #e5edf6;
  border-radius: 8px;
  background: #fff;
}
.owner-decision-math strong {
  color: var(--ink);
  font-size: 22px;
  line-height: 1;
}
.owner-decision-card.neg .owner-decision-math strong {
  color: var(--red);
}
.owner-decision-math em,
.owner-proof-line {
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  line-height: 1.25;
}
.owner-proof-line {
  grid-column: 1 / -1;
  padding-top: 2px;
  font-weight: 750;
}
.owner-growth-context {
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.owner-growth-read {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin-bottom: 12px;
}
.owner-growth-read strong {
  flex: 1 1 280px;
  color: var(--ink);
  font-size: 18px;
}
.owner-growth-read span,
.owner-growth-legend span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 750;
}
.owner-growth-bars {
  display: grid;
  gap: 7px;
}
.owner-growth-month {
  display: grid;
  grid-template-columns: 74px minmax(120px, 1fr) minmax(120px, 1fr) 104px;
  gap: 10px;
  align-items: center;
}
.owner-growth-month > span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}
.owner-growth-month div {
  position: relative;
  min-height: 24px;
  overflow: hidden;
  border: 1px solid #e5edf6;
  border-radius: 6px;
  background: #f8fafc;
}
.owner-growth-month i {
  position: absolute;
  inset: 0 auto 0 0;
  display: block;
}
.owner-growth-month i.sales,
.owner-growth-legend i.sales {
  background: #dbeafe;
}
.owner-growth-month i.cashout,
.owner-growth-legend i.cashout {
  background: #fee2e2;
}
.owner-growth-month b {
  position: relative;
  z-index: 1;
  display: block;
  padding: 5px 8px;
  color: var(--ink);
  font-size: 12px;
  text-align: right;
}
.owner-growth-month strong {
  font-size: 13px;
  text-align: right;
}
.owner-growth-month strong.neg {
  color: var(--red);
}
.owner-growth-month strong.pos {
  color: var(--green);
}
.owner-growth-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 10px;
}
.owner-growth-legend i {
  display: inline-block;
  width: 18px;
  height: 10px;
  margin-right: 5px;
  border: 1px solid #d8e2ee;
  border-radius: 3px;
  vertical-align: -1px;
}
.owner-answer-card {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 4px 10px;
  align-items: center;
  min-height: 128px;
  padding: 15px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}
.owner-card-icon {
  grid-row: span 3;
  width: 34px;
  height: 34px;
  background: #eef4fb;
  color: var(--brand);
  font-size: 14px;
}
.owner-answer-card.neg .owner-card-icon {
  background: #fff1e8;
  color: #c2410c;
}
.owner-answer-card.warn .owner-card-icon {
  background: #e0f7ff;
  color: #a15c07;
}
.owner-answer-card.pos .owner-card-icon,
.owner-answer-card.neutral .owner-card-icon {
  background: #eef4fb;
  color: var(--brand);
}
.owner-answer-card strong {
  font-size: 28px;
  line-height: 1;
}
.owner-answer-card em {
  color: var(--muted);
  font-style: normal;
}
.owner-answer-card.pos strong,
.owner-table .pos {
  color: var(--ink);
}
.owner-answer-card.neg strong,
.owner-table .neg {
  color: #b42318;
}
.owner-answer-card.warn strong {
  color: var(--ink);
}
.owner-two-col {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(340px, .8fr);
  gap: 12px;
}
.owner-cash-wide {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
}
.owner-three-col {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.owner-panel {
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.owner-panel-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}
.owner-panel-head strong {
  color: var(--ink);
}
.owner-runway-chart {
  width: 100%;
  min-height: 220px;
}
.owner-runway-chart .axis {
  stroke: #94a3b8;
  stroke-width: 1.2;
}
.owner-runway-chart .tick line {
  stroke: #cbd5e1;
  stroke-width: 1;
  stroke-dasharray: 4 5;
}
.owner-runway-chart .tick text,
.owner-runway-chart .x-label,
.owner-runway-chart .zero-label {
  fill: var(--muted);
  font-size: 10.5px;
  font-weight: 750;
}
.owner-runway-chart .axis-title {
  fill: var(--ink);
  font-size: 12px;
  font-weight: 850;
}
.owner-runway-chart .zero-line {
  stroke: #64748b;
  stroke-width: 1.4;
  stroke-dasharray: 5 5;
}
.owner-runway-chart .cash-floor-line {
  stroke: #b54708;
  stroke-dasharray: 5 4;
  stroke-width: 1.2;
}
.owner-runway-chart .cash-floor-label {
  fill: #b54708;
  font-size: 10px;
  font-weight: 800;
}
.owner-runway-chart .growth-wait-zone {
  fill: #f0fbfd;
  opacity: .72;
}
.owner-runway-chart .growth-start-line {
  stroke: #067647;
  stroke-width: 1.6;
}
.owner-runway-chart .growth-start-label {
  fill: #067647;
  font-size: 10.5px;
  font-weight: 850;
}
.owner-runway-chart polyline {
  fill: none;
  stroke: var(--brand);
  stroke-width: 3;
}
.owner-runway-chart circle {
  fill: #fff;
  stroke: var(--brand);
  stroke-width: 2;
}
.owner-runway-chart .point text {
  fill: var(--ink);
  font-size: 10.5px;
  font-weight: 850;
  text-anchor: middle;
}
.owner-cash-panel {
  padding: 14px 16px 12px;
}
.owner-cash-chart-wrap {
  display: grid;
  gap: 8px;
}
.owner-cash-timeline-chart {
  min-height: 330px;
}
.owner-cash-timeline-chart .actual-zone {
  fill: #f8fbff;
}
.owner-cash-timeline-chart .forecast-zone {
  fill: #fffaf3;
}
.owner-cash-timeline-chart .actual-line {
  fill: none;
  stroke: #2563eb;
  stroke-width: 3.2;
}
.owner-cash-timeline-chart .forecast-line {
  fill: none;
  stroke: #0f7490;
  stroke-dasharray: 8 6;
  stroke-linecap: round;
  stroke-width: 3.2;
}
.owner-cash-timeline-chart .prior-forecast-line {
  fill: none;
  stroke: #94a3b8;
  stroke-dasharray: 3 5;
  stroke-width: 2;
}
.owner-cash-timeline-chart .handoff-line {
  stroke: #475569;
  stroke-dasharray: 4 5;
  stroke-width: 1.8;
}
.owner-cash-timeline-chart .current-week-line {
  stroke: #101828;
  stroke-dasharray: 2 4;
  stroke-width: 1.4;
}
.owner-cash-timeline-chart .current-week-label {
  fill: #101828;
  font-size: 11px;
  font-weight: 900;
  text-anchor: middle;
  text-transform: uppercase;
}
.owner-cash-timeline-chart .point.actual circle {
  fill: #fff;
  stroke: #2563eb;
}
.owner-cash-timeline-chart .point.forecast circle {
  fill: #fff;
  stroke: #0f7490;
}
.owner-cash-timeline-chart .point.current circle {
  fill: #101828;
  stroke: #fff;
  stroke-width: 2.2;
}
.owner-cash-timeline-chart .basis-label {
  fill: var(--muted);
  font-size: 9px;
  font-weight: 760;
  text-anchor: middle;
  text-transform: uppercase;
}
.owner-cash-event-marker {
  color: #64748b;
}
.owner-cash-event-marker line {
  stroke: currentColor;
  stroke-width: 1;
  opacity: .48;
}
.owner-cash-event-marker path {
  fill: currentColor;
  stroke: #fff;
  stroke-width: 1.2;
}
.owner-cash-event-marker.card,
.owner-cash-legend .card i,
.owner-cash-event-chip.card i {
  color: #0f7490;
}
.owner-cash-event-marker.ap,
.owner-cash-legend .ap i,
.owner-cash-event-chip.ap i {
  color: #7c3aed;
}
.owner-cash-event-marker.payroll,
.owner-cash-legend .payroll i,
.owner-cash-event-chip.payroll i {
  color: #0f766e;
}
.owner-cash-event-marker.opex,
.owner-cash-legend .opex i,
.owner-cash-event-chip.opex i {
  color: #475569;
}
.owner-cash-event-marker.oneoff,
.owner-cash-legend .oneoff i,
.owner-cash-event-chip.oneoff i {
  color: #be185d;
}
.owner-cash-event-marker.funding,
.owner-cash-legend .funding i,
.owner-cash-event-chip.funding i {
  color: #087f5b;
}
.owner-cash-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 12px;
  align-items: center;
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
}
.owner-cash-legend span {
  display: inline-flex;
  gap: 5px;
  align-items: center;
}
.owner-cash-legend i {
  display: inline-block;
  width: 16px;
  height: 3px;
  border-radius: 999px;
  background: currentColor;
}
.owner-cash-legend .actual i {
  color: #2563eb;
}
.owner-cash-legend .forecast i {
  color: #0f7490;
  background: repeating-linear-gradient(90deg, currentColor 0 5px, transparent 5px 8px);
}
.owner-cash-legend .prior i {
  color: #94a3b8;
  background: repeating-linear-gradient(90deg, currentColor 0 3px, transparent 3px 6px);
}
.owner-cash-event-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding-top: 4px;
}
.owner-cash-event-chip {
  display: inline-grid;
  grid-template-columns: 9px auto minmax(0, 1fr) auto;
  gap: 5px;
  align-items: center;
  max-width: 260px;
  min-width: 0;
  border: 1px solid #dbe5f1;
  border-radius: 999px;
  background: #fff;
  padding: 5px 8px;
}
.owner-cash-event-chip i {
  width: 8px;
  height: 8px;
  border-radius: 3px;
  background: currentColor;
}
.owner-cash-event-chip b,
.owner-cash-event-chip strong,
.owner-cash-event-chip em {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.owner-cash-event-chip b {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
}
.owner-cash-event-chip strong {
  color: var(--ink);
  font-size: 11px;
}
.owner-cash-event-chip em {
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
}
.owner-cash-graph-panel {
  padding: 12px 16px 10px;
}
.owner-cash-graph-head {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  margin-bottom: 4px;
}
.owner-cash-graph-head span {
  color: #5f625f;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
}
.owner-cash-graph-head > strong {
  color: #1e1e1e;
  font-size: 14px;
  font-weight: 700;
}
.owner-cash-graph-stats {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
}
.owner-cash-graph-stats b {
  display: inline-flex;
  gap: 5px;
  align-items: center;
  padding: 4px 7px;
  border: 1px solid #dededb;
  border-radius: 999px;
  background: #f7f7f5;
  color: #5f625f;
  font-size: 10.5px;
  font-weight: 650;
}
.owner-cash-graph-stats strong {
  color: #1e1e1e;
  font-weight: 750;
}
.owner-cash-graph-wrap {
  display: grid;
  gap: 4px;
}
.owner-cash-graph {
  display: block;
  width: 100%;
  height: clamp(230px, 17vw, 270px);
  min-height: 230px;
}
.owner-cash-graph .axis {
  stroke: #a9ada6;
  stroke-width: .75;
}
.owner-cash-graph .tick line {
  stroke: #e7e8e3;
  stroke-dasharray: 3 7;
}
.owner-cash-graph .tick text,
.owner-cash-graph .owner-cash-week-label text {
  fill: #666a64;
  font-size: 10px;
  font-weight: 650;
  text-anchor: middle;
}
.owner-cash-graph .tick text {
  text-anchor: start;
}
.owner-cash-graph .owner-cash-week-label text + text {
  fill: #8a8d87;
  font-size: 8.5px;
  text-transform: uppercase;
}
.owner-cash-graph .owner-cash-week-label.current text {
  fill: #1e1e1e;
  font-weight: 800;
}
.owner-cash-graph-actual-zone {
  fill: #f8f8f5;
}
.owner-cash-graph-forecast-zone {
  fill: #fff;
}
.owner-cash-graph .zero-line {
  stroke: #1e1e1e;
  stroke-dasharray: 4 6;
  stroke-width: 1;
  opacity: .42;
}
.owner-cash-graph .current-week-line {
  stroke: #1e1e1e;
  stroke-dasharray: 2 5;
  stroke-width: 1.15;
}
.owner-cash-graph .current-week-label {
  fill: #1e1e1e;
  font-size: 10px;
  font-weight: 800;
  text-anchor: middle;
  text-transform: uppercase;
}
.owner-cash-series {
  fill: none;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.owner-cash-series.actual-net {
  stroke: #111111;
  stroke-width: 2;
}
.owner-cash-series.forecast-net {
  stroke: #344054;
  stroke-dasharray: 5 5;
  stroke-width: 1.8;
  opacity: .94;
}
.owner-cash-series.focus {
  stroke-width: 1;
}
.owner-cash-series.focus.net {
  stroke-width: 1.2;
}
.owner-cash-series.in {
  stroke: #007a5a;
  stroke-width: 1.9;
}
.owner-cash-series.cogs {
  stroke: #d92d20;
  stroke-width: 1.9;
}
.owner-cash-series.ops {
  stroke: #667085;
  stroke-dasharray: 9 6;
  stroke-width: 1.7;
}
.owner-cash-graph-marker {
  color: #1e1e1e;
  cursor: pointer;
  outline: none;
}
.owner-cash-graph-marker circle {
  fill: currentColor;
  stroke: #fff;
  stroke-width: 1.3;
}
.owner-cash-graph-marker.in {
  color: #007a5a;
}
.owner-cash-graph-marker.cogs {
  color: #d92d20;
}
.owner-cash-graph-marker.ops {
  color: #667085;
}
.owner-cash-graph-marker.net {
  color: #1e1e1e;
}
.owner-cash-graph-marker:hover circle,
.owner-cash-graph-marker:focus-visible circle {
  stroke: var(--manaforge-highlight);
  stroke-width: 2;
}
.owner-cash-graph-tip {
  opacity: 0;
  pointer-events: none;
  transition: opacity .12s ease;
}
.owner-cash-graph-marker:hover .owner-cash-graph-tip,
.owner-cash-graph-marker:focus-visible .owner-cash-graph-tip {
  opacity: 1;
}
.owner-cash-graph-tip rect {
  fill: #fff;
  stroke: #1e1e1e;
  stroke-width: 1;
  filter: drop-shadow(0 8px 14px rgba(30, 30, 30, .18));
}
.owner-cash-graph-tip text {
  fill: #1e1e1e;
  font-size: 10px;
  font-weight: 650;
}
.owner-cash-graph-tip text:first-of-type {
  font-weight: 800;
}
.owner-cash-graph-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 12px;
  align-items: center;
  color: #5f625f;
  font-size: 11px;
  font-weight: 650;
}
.owner-cash-graph-legend span {
  display: inline-flex;
  gap: 5px;
  align-items: center;
}
.owner-cash-graph-legend i {
  display: inline-block;
  width: 18px;
  height: 3px;
  border-radius: 999px;
  background: currentColor;
}
.owner-cash-graph-legend .actual-net {
  color: #1e1e1e;
}
.owner-cash-graph-legend .forecast-net {
  color: #344054;
}
.owner-cash-graph-legend .forecast-net i {
  background: repeating-linear-gradient(90deg, currentColor 0 6px, transparent 6px 10px);
}
.owner-cash-graph-legend .in {
  color: #007a5a;
}
.owner-cash-graph-legend .cogs {
  color: #d92d20;
}
.owner-cash-graph-legend .ops {
  color: #667085;
}
.owner-cash-graph-legend em {
  margin-left: auto;
  color: #7a7d77;
  font-style: normal;
}
.owner-model-change-compact {
  padding: 5px 12px 6px !important;
}
.owner-model-change-compact .owner-plan-shell {
  gap: 6px;
}
.owner-model-change-compact .owner-plan-title {
  padding-bottom: 2px;
}
.owner-model-change-compact .owner-plan-title span {
  font-size: 9.5px;
}
.owner-model-change-compact .owner-plan-title strong {
  font-size: 13px;
}
.owner-model-change-compact .owner-plan-picker.owner-scenario-builder {
  gap: 6px;
}
.owner-model-change-compact .owner-plan-picker label span {
  min-height: 18px;
}
.owner-model-change-compact .owner-plan-picker input,
.owner-model-change-compact .owner-plan-picker select,
.owner-model-change-compact .owner-plan-actions .btn {
  min-height: 25px;
  padding-top: 3px;
  padding-bottom: 3px;
}

body.owner-dashboard-route .topbar {
  gap: 18px;
  min-height: 72px;
  padding: 9px 32px;
}

body.owner-dashboard-route .topbar-title {
  flex: 0 0 auto;
}

body.owner-dashboard-route .topbar-actions {
  flex: 1 1 auto;
  min-width: 0;
  justify-content: flex-end;
}

body.owner-dashboard-route #status-pill,
body.owner-dashboard-route #theme-toggle,
body.owner-dashboard-route #refresh-btn {
  display: none;
}

body.owner-dashboard-route .page-actions {
  flex: 1 1 auto;
  min-width: 0;
  justify-content: flex-end;
}

.owner-header-model-change {
  flex: 1 1 auto;
  min-width: 0;
  max-width: 1180px;
}

.owner-header-model-change .owner-plan-shell {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: end;
}

.owner-header-model-change .owner-plan-title {
  display: grid;
  gap: 3px;
  min-width: 92px;
  padding: 0;
  border: 0;
}

.owner-header-model-change .owner-plan-title span {
  color: #4f534d;
  font-size: 9px;
  font-weight: 850;
  letter-spacing: .03em;
  line-height: 1;
  text-transform: uppercase;
}

.owner-header-model-change .owner-plan-title strong {
  color: #111;
  font-size: 11px;
  font-weight: 850;
  line-height: 1.05;
}

.owner-header-model-change .owner-plan-picker.owner-scenario-builder {
  display: grid;
  grid-template-columns: minmax(74px, .7fr) minmax(86px, .75fr) minmax(86px, .75fr) minmax(92px, .8fr) minmax(120px, 1fr) auto;
  gap: 6px;
  align-items: end;
}

.owner-header-model-change .owner-plan-picker label {
  min-width: 0;
  gap: 3px;
}

.owner-header-model-change .owner-plan-picker label span {
  min-height: 0;
  color: #111;
  font-size: 9.5px;
  font-weight: 760;
  line-height: 1.05;
}

.owner-header-model-change .owner-plan-picker label em {
  color: #5d625c;
  font-size: 8.5px;
  font-weight: 650;
  line-height: 1.05;
}

.owner-header-model-change .owner-plan-picker input,
.owner-header-model-change .owner-plan-picker select {
  width: 100%;
  min-height: 26px;
  padding: 4px 7px;
  border-color: #d4d4cf;
  border-radius: 6px;
  background: #fff;
  color: #111;
  font-size: 11px;
  font-weight: 700;
}

.owner-header-model-change .owner-plan-picker input {
  text-align: right;
}

.owner-header-model-change .owner-plan-actions {
  display: flex;
  align-items: end;
}

.owner-header-model-change .owner-plan-actions .btn {
  min-height: 26px;
  padding: 4px 11px;
  border-radius: 6px;
  background: #1e1e1e;
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
  box-shadow: none;
}

@media (max-width: 1500px) {
  body.owner-dashboard-route .topbar {
    align-items: flex-start;
  }

  .owner-header-model-change .owner-plan-shell {
    grid-template-columns: 1fr;
    gap: 5px;
  }

  .owner-header-model-change .owner-plan-title {
    display: flex;
    justify-content: space-between;
  }
}

@media (max-width: 1120px) {
  body.owner-dashboard-route .topbar {
    flex-direction: column;
    align-items: stretch;
  }

  body.owner-dashboard-route .topbar-actions,
  body.owner-dashboard-route .page-actions {
    justify-content: stretch;
  }

  .owner-header-model-change {
    max-width: none;
  }

  .owner-header-model-change .owner-plan-picker.owner-scenario-builder {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .owner-header-model-change .owner-plan-picker.owner-scenario-builder {
    grid-template-columns: 1fr 1fr;
  }
}
.cash-runway-decision {
  display: grid;
  gap: 10px;
  min-width: 0;
}
.cash-runway-decision.empty {
  border: 1px dashed #cbd5e1;
  border-radius: 8px;
  color: var(--muted);
  padding: 18px;
}
.cash-runway-decision-meta {
  display: grid;
  grid-template-columns: minmax(220px, .8fr) minmax(420px, 1.2fr);
  gap: 10px;
  align-items: stretch;
}
.cash-runway-now,
.cash-runway-risk {
  min-width: 0;
  border: 1px solid #dbe5f1;
  border-radius: 8px;
  background: #fff;
  padding: 10px 12px;
}
.cash-runway-now {
  border-left: 4px solid #2563eb;
}
.cash-runway-now.neg {
  border-left-color: #b42318;
}
.cash-runway-now.pos {
  border-left-color: #067647;
}
.cash-runway-now span,
.cash-runway-risk span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .02em;
  text-transform: uppercase;
}
.cash-runway-now strong {
  display: block;
  margin-top: 4px;
  color: var(--ink);
  font-size: 25px;
  font-weight: 950;
  letter-spacing: 0;
  line-height: 1;
}
.cash-runway-now em,
.cash-runway-now small {
  display: block;
  margin-top: 4px;
  color: #475467;
  font-size: 11px;
  font-style: normal;
  font-weight: 760;
}
.cash-runway-now.neg em {
  color: #b42318;
}
.cash-runway-now.pos em {
  color: #067647;
}
.cash-runway-risk {
  cursor: pointer;
}
.cash-runway-risk.neg {
  border-color: #f0b4ae;
  background: #fffafa;
}
.cash-runway-risk.warn {
  border-color: #f3c48a;
  background: #fffaf3;
}
.cash-runway-risk.pos {
  border-color: #b7dfcf;
  background: #f8fffc;
}
.cash-runway-risk dl {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 7px 0 0;
}
.cash-runway-risk div {
  min-width: 0;
}
.cash-runway-risk dt {
  overflow: hidden;
  color: var(--muted);
  font-size: 9px;
  font-weight: 850;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}
.cash-runway-risk dd {
  overflow: hidden;
  margin: 2px 0 0;
  color: var(--ink);
  font-size: 12px;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cash-runway-svg {
  display: block;
  width: 100%;
  min-height: 330px;
}
.cash-runway-zone.actual {
  fill: #f7fbff;
}
.cash-runway-zone.now {
  fill: #f1f5f9;
}
.cash-runway-zone.forecast {
  fill: #fffaf2;
}
.cash-runway-danger-zone {
  fill: #fff1f0;
}
.cash-runway-caution-zone {
  fill: #e9f8ff;
}
.cash-runway-tick line {
  stroke: #cbd5e1;
  stroke-dasharray: 4 6;
}
.cash-runway-tick text {
  fill: #667085;
  font-size: 10.5px;
  font-weight: 750;
}
.cash-runway-zero-line {
  stroke: #1f2937;
  stroke-width: 2;
}
.cash-runway-zero-label {
  fill: #1f2937;
  font-size: 11px;
  font-weight: 900;
}
.cash-runway-buffer-line {
  stroke: #b54708;
  stroke-dasharray: 5 5;
  stroke-width: 1.5;
}
.cash-runway-buffer-label {
  fill: #b54708;
  font-size: 10.5px;
  font-weight: 850;
}
.cash-runway-current-line {
  stroke: #101828;
  stroke-dasharray: 2 4;
  stroke-width: 1.5;
}
.cash-runway-current-label {
  fill: #101828;
  font-size: 11px;
  font-weight: 950;
  text-anchor: middle;
  text-transform: uppercase;
}
.cash-runway-line {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.cash-runway-line.actual {
  stroke: #2563eb;
  stroke-width: 3.4;
}
.cash-runway-line.prior {
  stroke: #94a3b8;
  stroke-dasharray: 4 6;
  stroke-width: 2.2;
}
.cash-runway-line.forecast {
  stroke: #0f7490;
  stroke-dasharray: 8 6;
  stroke-width: 3.2;
}
.cash-runway-week-point {
  cursor: pointer;
}
.cash-runway-hit-target {
  fill: transparent;
  pointer-events: all;
}
.cash-runway-week-point circle {
  fill: #fff;
  stroke-width: 2.2;
}
.cash-runway-week-point.actual circle {
  stroke: #2563eb;
}
.cash-runway-week-point.forecast circle {
  stroke: #0f7490;
}
.cash-runway-week-point.current circle {
  fill: #101828;
  stroke: #fff;
  stroke-width: 2.5;
}
.cash-runway-current-cash-label,
.cash-runway-x-label,
.cash-runway-basis-label {
  text-anchor: middle;
}
.cash-runway-current-cash-label {
  fill: #101828;
  font-size: 10.5px;
  font-weight: 900;
}
.cash-runway-x-label {
  fill: #101828;
  font-size: 11px;
  font-weight: 900;
}
.cash-runway-basis-label {
  fill: #667085;
  font-size: 9px;
  font-weight: 850;
  text-transform: uppercase;
}
.cash-runway-event-marker {
  cursor: pointer;
}
.cash-runway-event-marker line {
  stroke: currentColor;
  stroke-width: 1.2;
  opacity: .55;
}
.cash-runway-event-marker rect {
  fill: currentColor;
  stroke: #fff;
  stroke-width: 1.4;
}
.cash-runway-event-marker text {
  pointer-events: none;
}
.cash-runway-event-letter {
  fill: #fff;
  font-size: 12px;
  font-weight: 950;
  text-anchor: middle;
}
.cash-runway-event-label {
  fill: #101828;
  font-size: 10px;
  font-weight: 900;
}
.cash-runway-event-amount {
  fill: #475467;
  font-size: 10px;
  font-weight: 850;
}
.cash-runway-event-marker.sales,
.cash-runway-event-row.sales b { color: #2563eb; }
.cash-runway-event-marker.cash-in,
.cash-runway-event-row.cash-in b { color: #087f5b; }
.cash-runway-event-marker.inventory,
.cash-runway-event-row.inventory b { color: #0f7490; }
.cash-runway-event-marker.debt,
.cash-runway-event-row.debt b { color: #b42318; }
.cash-runway-event-marker.payroll,
.cash-runway-event-row.payroll b { color: #0f766e; }
.cash-runway-event-marker.facilities,
.cash-runway-event-row.facilities b { color: #7c3aed; }
.cash-runway-event-marker.shipping,
.cash-runway-event-row.shipping b { color: #a15c07; }
.cash-runway-event-marker.operating,
.cash-runway-event-row.operating b { color: #475569; }
.cash-runway-shortfall-callout {
  cursor: pointer;
}
.cash-runway-shortfall-callout rect {
  fill: #b42318;
}
.cash-runway-shortfall-callout text {
  fill: #fff;
  font-size: 12px;
  font-weight: 950;
}
.cash-runway-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 9px 16px;
  color: #475467;
  font-size: 11px;
  font-weight: 850;
}
.cash-runway-legend span {
  display: inline-flex;
  gap: 6px;
  align-items: center;
}
.cash-runway-legend i {
  width: 22px;
  height: 3px;
  border-radius: 999px;
  background: currentColor;
}
.cash-runway-legend .actual i {
  color: #2563eb;
}
.cash-runway-legend .prior i {
  color: #94a3b8;
  background: repeating-linear-gradient(90deg, currentColor 0 4px, transparent 4px 7px);
}
.cash-runway-legend .forecast i {
  color: #0f7490;
  background: repeating-linear-gradient(90deg, currentColor 0 7px, transparent 7px 11px);
}
.cash-runway-event-strip {
  display: grid;
  grid-template-columns: auto repeat(3, minmax(0, 1fr));
  gap: 7px;
  align-items: stretch;
  padding-top: 2px;
}
.cash-runway-event-strip > span {
  align-self: center;
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .02em;
  text-transform: uppercase;
}
.cash-runway-event-strip > em {
  grid-column: 2 / -1;
  align-self: center;
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
}
.cash-runway-event-row {
  display: grid;
  grid-template-columns: 24px 42px minmax(0, .75fr) auto minmax(0, 1fr);
  gap: 6px;
  align-items: center;
  min-width: 0;
  border: 1px solid #dbe5f1;
  border-radius: 8px;
  background: #fff;
  color: inherit;
  cursor: pointer;
  font: inherit;
  padding: 7px 8px;
  text-align: left;
}
.cash-runway-event-row:hover,
.cash-runway-event-row:focus-visible {
  border-color: #adc3df;
  background: #fbfdff;
  outline: none;
}
.cash-runway-event-row b {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 7px;
  background: color-mix(in srgb, currentColor 12%, #fff);
  font-size: 11px;
  font-weight: 950;
}
.cash-runway-event-row strong,
.cash-runway-event-row em,
.cash-runway-event-row i,
.cash-runway-event-row small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cash-runway-event-row strong {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
}
.cash-runway-event-row em {
  color: var(--ink);
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
}
.cash-runway-event-row i {
  color: var(--ink);
  font-size: 11px;
  font-style: normal;
  font-weight: 950;
}
.cash-runway-event-row small {
  color: #475467;
  font-size: 10.5px;
  font-weight: 760;
}
.cash-runway-popup {
  display: grid;
  gap: 10px;
}
.cash-runway-popup-hero,
.cash-runway-equation,
.cash-runway-popup-grid {
  border: 1px solid #dbe5f1;
  border-radius: 8px;
  background: #fff;
}
.cash-runway-popup-hero {
  padding: 12px;
}
.cash-runway-popup-hero.neg {
  border-color: #f0b4ae;
  background: #fffafa;
}
.cash-runway-popup-hero span,
.cash-runway-equation b,
.cash-runway-popup-grid b {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .02em;
  text-transform: uppercase;
}
.cash-runway-popup-hero strong {
  display: block;
  margin-top: 4px;
  color: var(--ink);
  font-size: 22px;
}
.cash-runway-popup-hero em {
  display: block;
  color: #475467;
  font-style: normal;
  font-weight: 760;
}
.cash-runway-equation,
.cash-runway-popup-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  padding: 10px;
}
.cash-runway-equation span,
.cash-runway-popup-grid span {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.cash-runway-equation strong,
.cash-runway-popup-grid strong {
  overflow: hidden;
  color: var(--ink);
  font-size: 14px;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.cash-runway-equation strong.neg,
.cash-runway-popup-grid strong.neg {
  color: #b42318;
}
.cash-runway-equation strong.pos,
.cash-runway-popup-grid strong.pos {
  color: #067647;
}
@media (max-width: 1100px) {
  .cash-runway-decision-meta,
  .cash-runway-risk dl,
  .cash-runway-event-strip,
  .cash-runway-equation,
  .cash-runway-popup-grid {
    grid-template-columns: 1fr;
  }
  .cash-runway-event-row {
    grid-template-columns: 24px 48px minmax(0, 1fr) auto;
  }
  .cash-runway-event-row small {
    grid-column: 3 / -1;
  }
}
.owner-scenario-read {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.owner-scenario-read span {
  display: grid;
  gap: 3px;
  min-width: 0;
  border: 1px solid #dbe5f1;
  border-radius: 8px;
  background: #fff;
  padding: 9px 10px;
}
.owner-scenario-read b {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .02em;
  text-transform: uppercase;
}
.owner-scenario-read strong {
  color: var(--ink);
  font-size: 17px;
  line-height: 1;
}
.owner-scenario-read strong.neg {
  color: #b42318;
}
.owner-scenario-read strong.pos {
  color: #067647;
}
.owner-scenario-read em {
  overflow: hidden;
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.owner-table {
  width: 100%;
  border-collapse: collapse;
}
.owner-table th,
.owner-table td {
  padding: 9px 10px;
  border-bottom: 1px solid #e5edf6;
  font-size: 12px;
  text-align: left;
  vertical-align: middle;
}
.owner-table th {
  color: var(--muted);
  font-size: 10.5px;
  text-transform: uppercase;
}
.owner-table td:last-child,
.owner-table th:last-child {
  text-align: right;
}
.owner-table td span {
  display: block;
  color: var(--muted);
  font-size: 11px;
}
.owner-note {
  margin: 10px 0 0;
  color: var(--muted);
}
.owner-problem-card {
  display: grid;
  gap: 5px;
  width: 100%;
  margin-bottom: 8px;
  padding: 11px;
  border: 1px solid #f0d4a8;
  border-radius: 8px;
  background: #f0fbfd;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}
.owner-problem-card span {
  color: var(--muted);
}
.owner-edit-table input,
.owner-map-table select {
  width: 100%;
  min-width: 88px;
  padding: 7px 8px;
  border: 1px solid var(--line);
  border-radius: 6px;
}
.transaction-manager-page {
  gap: 14px;
}
.transaction-manager-intro {
  border-left: 5px solid var(--manaforge-highlight);
}
.transaction-manager-intro p {
  max-width: 1020px;
  margin: 8px 0 0;
  color: #4f5549;
  font-size: 12.5px;
  font-weight: 650;
  line-height: 1.4;
}
.transaction-manager-panel {
  overflow: auto;
}
.transaction-manager-table {
  min-width: 1720px;
  table-layout: fixed;
}
.transaction-manager-table th:nth-child(1),
.transaction-manager-table td:nth-child(1) {
  width: 106px;
}
.transaction-manager-table th:nth-child(2),
.transaction-manager-table td:nth-child(2) {
  width: 112px;
}
.transaction-manager-table th:nth-child(3),
.transaction-manager-table td:nth-child(3) {
  width: 220px;
}
.transaction-manager-table th:nth-child(4),
.transaction-manager-table td:nth-child(4) {
  width: 170px;
}
.transaction-manager-table th:nth-child(5),
.transaction-manager-table td:nth-child(5) {
  width: 260px;
}
.transaction-manager-table th:nth-child(6),
.transaction-manager-table td:nth-child(6) {
  width: 94px;
  text-align: right;
}
.transaction-manager-table th:nth-child(7),
.transaction-manager-table td:nth-child(7) {
  width: 170px;
}
.transaction-manager-table th:nth-child(8),
.transaction-manager-table td:nth-child(8) {
  width: 150px;
}
.transaction-manager-table th:nth-child(9),
.transaction-manager-table td:nth-child(9) {
  width: 150px;
}
.transaction-manager-table th:nth-child(10),
.transaction-manager-table td:nth-child(10) {
  width: 170px;
}
.transaction-manager-table th:nth-child(11),
.transaction-manager-table td:nth-child(11) {
  width: 140px;
}
.transaction-manager-table th:nth-child(12),
.transaction-manager-table td:nth-child(12) {
  width: 62px;
}
.transaction-manager-table th {
  background: #1e1e1e;
  color: var(--manaforge-highlight);
  font-weight: 950;
}
.transaction-manager-table td {
  height: 44px;
  padding-top: 7px;
  padding-bottom: 7px;
  vertical-align: middle;
}
.transaction-manager-table td > strong {
  display: inline-block;
  max-width: 100%;
  color: #111;
  font-weight: 700;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: middle;
  white-space: nowrap;
}
.transaction-manager-table .transaction-manager-muted,
.transaction-manager-table select + span {
  display: block;
  max-width: 100%;
  overflow: hidden;
  color: #6f7469;
  font-size: 11.5px;
  font-weight: 500;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.transaction-manager-table select {
  min-height: 32px;
  border-color: #dbe5f1;
  border-radius: 7px;
  font-size: 12px;
}
.transaction-manager-table .btn {
  min-height: 32px;
  background: #1e1e1e;
  color: #fff;
}
.transaction-manager-table .btn:hover {
  border-color: var(--manaforge-highlight);
  background: var(--manaforge-highlight);
  color: #1e1e1e;
}
.owner-popup {
  display: grid;
  gap: 10px;
}
.owner-popup section {
  padding: 10px 0;
  border-bottom: 1px solid #e5edf6;
}
.owner-popup section:last-child {
  border-bottom: 0;
}
.owner-popup p {
  margin: 4px 0 0;
  color: var(--ink);
  line-height: 1.35;
}
.owner-visual-popup {
  display: grid;
  gap: 12px;
}
.owner-popup-modal.owner-visual-modal {
  width: min(900px, calc(100vw - 32px));
}
.owner-popup-modal.owner-visual-modal h3 {
  margin-bottom: 12px;
  font-size: 18px;
}
.owner-popup-modal {
  width: min(980px, calc(100vw - 36px));
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(230, 255, 42, .45);
  border-radius: 10px;
  background:
    linear-gradient(180deg, #fff 0%, #f8faf4 100%);
  box-shadow: 0 28px 80px rgba(0, 0, 0, .42);
}
.owner-popup-modal.owner-visual-modal {
  width: min(1120px, calc(100vw - 36px));
}
.owner-popup-modal::before {
  content: "";
  display: block;
  height: 5px;
  background: linear-gradient(90deg, var(--manaforge-highlight), #1e1e1e 62%, var(--manaforge-aqua));
}
.owner-popup-modal h3 {
  margin: 0;
  padding: 20px 24px 16px;
  border-bottom: 1px solid #e2e7d6;
  background: #1e1e1e;
  color: #fff;
  font-size: 20px;
  font-weight: 950;
  line-height: 1.12;
}
.owner-popup-modal h3::before {
  content: "Manaforge Forecast Detail";
  display: block;
  margin-bottom: 7px;
  color: var(--manaforge-highlight);
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.owner-popup-modal > div:not(.modal-actions) {
  max-height: calc(88vh - 132px);
  overflow: auto;
  padding: 18px 24px 8px;
}
.owner-popup-modal .modal-actions {
  bottom: 0;
  margin: 0;
  padding: 14px 24px 18px;
  border-top: 1px solid #e2e7d6;
  background: rgba(255, 255, 255, .94);
}
.owner-popup-modal .modal-actions .btn {
  border-color: #1e1e1e;
  background: #1e1e1e;
  color: #fff;
  font-weight: 900;
}
.owner-popup-modal .modal-actions .btn:hover {
  border-color: var(--manaforge-highlight);
  background: var(--manaforge-highlight);
  color: #1e1e1e;
}
.owner-popup-modal .owner-signal-drill {
  gap: 12px;
}
.owner-popup-modal .owner-signal-drill-hero {
  border: 1px solid #dfe5dc;
  border-left: 5px solid var(--manaforge-highlight);
  background:
    linear-gradient(90deg, rgba(230, 255, 42, .12), rgba(255, 255, 255, .92) 42%),
    #fff;
  box-shadow: 0 8px 22px rgba(30, 30, 30, .05);
}
.owner-popup-modal .owner-signal-drill-hero.warn,
.owner-popup-modal .owner-signal-drill-hero.neg {
  border-left-color: #c2410c;
  background:
    linear-gradient(90deg, rgba(194, 65, 12, .10), rgba(255, 255, 255, .92) 42%),
    #fff;
}
.owner-popup-modal .owner-signal-drill-hero.pos {
  border-left-color: #1a9d6b;
}
.owner-popup-modal .owner-signal-drill-hero span,
.owner-popup-modal .owner-signal-formula span,
.owner-popup-modal .owner-signal-action-card span,
.owner-popup-modal .owner-signal-drill-table .head span,
.owner-popup-modal .owner-cash-bridge-summary b,
.owner-popup-modal .owner-cash-transaction-list > span {
  color: #4f5549;
  font-weight: 950;
}
.owner-popup-modal .owner-signal-drill-hero strong,
.owner-popup-modal .owner-signal-drill-hero b {
  color: #111;
  font-weight: 950;
}
.owner-popup-modal .owner-signal-drill-hero.warn b,
.owner-popup-modal .owner-signal-drill-hero.neg b,
.owner-popup-modal .owner-cash-week-table .short > strong:last-child,
.owner-popup-modal .owner-cash-week-table .low > strong:last-child {
  color: #c2410c;
}
.owner-popup-modal .owner-cash-bridge-summary span {
  border-color: #dfe5dc;
  background: #fff;
  box-shadow: 0 6px 18px rgba(30, 30, 30, .04);
}
.owner-popup-modal .owner-cash-bridge-summary strong {
  color: #111;
  font-weight: 950;
}
.owner-popup-modal .owner-cash-week-table {
  border-color: #dfe5dc;
  border-radius: 8px;
  box-shadow: 0 8px 22px rgba(30, 30, 30, .045);
}
.owner-popup-modal .owner-cash-week-table .head {
  background: #1e1e1e;
}
.owner-popup-modal .owner-cash-week-table .head span {
  color: var(--manaforge-highlight);
  font-weight: 950;
}
.owner-popup-modal .owner-cash-week-table > div {
  border-top-color: #e2e7d6;
}
.owner-popup-modal .owner-cash-week-table .actual,
.owner-popup-modal .owner-cash-week-table .actual-current {
  background: #fbfcf4;
}
.owner-popup-modal .owner-cash-week-table .actual-current {
  box-shadow: inset 5px 0 0 var(--manaforge-highlight);
}
.owner-popup-modal .owner-cash-week-table .tight {
  background: #fffdf2;
}
.owner-popup-modal .owner-cash-week-table .short,
.owner-popup-modal .owner-cash-week-table .low {
  background: #fff7f4;
}
.owner-popup-modal .owner-cash-week-detail {
  border-top-color: #e2e7d6;
  background: #f8faf4;
}
.owner-popup-modal .owner-cash-week-detail summary {
  color: #1e1e1e;
  font-weight: 900;
}
.owner-popup-modal .owner-cash-week-detail summary::marker {
  color: var(--manaforge-highlight);
}
.owner-popup-modal .owner-cash-week-detail section,
.owner-popup-modal .owner-cash-transaction-list,
.owner-popup-modal .owner-signal-formula,
.owner-popup-modal .owner-signal-action-card,
.owner-popup-modal .owner-signal-drill-chart,
.owner-popup-modal .owner-signal-drill-table {
  border-color: #dfe5dc;
  background: #fff;
}
.owner-popup-modal .owner-cash-week-detail header,
.owner-popup-modal .owner-cash-transaction-list > span,
.owner-popup-modal .owner-signal-drill-table .head {
  background: #1e1e1e;
}
.owner-popup-modal .owner-cash-week-detail header b,
.owner-popup-modal .owner-cash-week-detail header strong,
.owner-popup-modal .owner-cash-transaction-list > span,
.owner-popup-modal .owner-signal-drill-table .head span {
  color: var(--manaforge-highlight);
}
.owner-popup-modal .owner-cash-source-row,
.owner-popup-modal .owner-cash-transaction-row,
.owner-popup-modal .owner-signal-drill-table > div {
  border-top-color: #edf0e2;
}
@media (max-width: 760px) {
  .owner-popup-modal,
  .owner-popup-modal.owner-visual-modal {
    width: calc(100vw - 18px);
  }
  .owner-popup-modal h3 {
    padding: 16px 16px 13px;
    font-size: 17px;
  }
  .owner-popup-modal > div:not(.modal-actions) {
    padding: 14px 16px 6px;
  }
  .owner-popup-modal .modal-actions {
    padding: 12px 16px 14px;
  }
}
.owner-gap-hero,
.owner-mix-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px 12px;
  align-items: end;
  border: 1px solid #dbe5f1;
  border-left: 4px solid #b42318;
  border-radius: 8px;
  background: #fff;
  padding: 12px;
}
.owner-gap-hero.neg {
  border-left-color: #b42318;
  background: #fffafa;
}
.owner-gap-hero.warn {
  border-left-color: #b54708;
  background: #fffbf5;
}
.owner-gap-hero.pos {
  border-left-color: #067647;
  background: #f6fef9;
}
.owner-gap-hero span,
.owner-mix-hero span,
.owner-gap-next b {
  color: var(--muted);
  font-size: 10.5px;
  font-weight: 900;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.owner-gap-hero strong,
.owner-mix-hero strong {
  color: #b42318;
  font-size: 28px;
  line-height: 1;
}
.owner-gap-hero.warn strong {
  color: #b54708;
}
.owner-gap-hero.pos strong {
  color: #067647;
}
.owner-mix-hero strong {
  color: var(--ink);
}
.owner-gap-hero em,
.owner-mix-hero em {
  grid-column: 1 / -1;
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  font-weight: 750;
}
.owner-waterfall {
  display: grid;
  gap: 8px;
}
.owner-waterfall-row {
  display: grid;
  grid-template-columns: 142px minmax(0, 1fr) 96px;
  gap: 10px;
  align-items: center;
}
.owner-waterfall-row span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
}
.owner-waterfall-row div {
  height: 12px;
  overflow: hidden;
  border-radius: 999px;
  background: #eef2f7;
}
.owner-waterfall-row i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #93c5fd;
}
.owner-waterfall-row.warn i {
  background: #fdba74;
}
.owner-waterfall-row.neg i {
  background: #fca5a5;
}
.owner-waterfall-row strong {
  color: var(--ink);
  font-size: 12px;
  text-align: right;
}
.owner-diagnosis-basis {
  color: var(--muted);
  font-size: 12px;
  font-weight: 750;
}
.owner-icon-tile-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.owner-icon-tile {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 2px 7px;
  align-items: center;
  min-width: 0;
  border: 1px solid #e5edf6;
  border-radius: 8px;
  background: #fff;
  padding: 8px;
}
.owner-icon-tile i {
  grid-row: 1 / 3;
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border: 1px solid #dbe5f1;
  border-radius: 7px;
  background: #f8fafc;
  color: #475467;
}
.owner-icon-tile svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.owner-icon-tile b {
  overflow: hidden;
  color: var(--muted);
  font-size: 9.5px;
  font-weight: 900;
  line-height: 1;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}
.owner-icon-tile strong {
  overflow: hidden;
  color: var(--ink);
  font-size: 13px;
  font-weight: 850;
  line-height: 1.05;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.owner-icon-tile.warn i,
.owner-icon-tile.warn strong {
  color: #b54708;
}
.owner-icon-tile.warn i {
  border-color: #bae6fd;
  background: #fffbf5;
}
.owner-icon-tile.win i,
.owner-icon-tile.win strong {
  color: #067647;
}
.owner-icon-tile.win i {
  border-color: #abefc6;
  background: #f6fef9;
}
.owner-proof-mini-table {
  display: grid;
  gap: 6px;
}
.owner-proof-mini-table span {
  display: grid;
  grid-template-columns: 150px minmax(110px, auto) minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  min-width: 0;
  border: 1px solid #e5edf6;
  border-radius: 8px;
  background: #fff;
  padding: 8px 10px;
}
.owner-proof-mini-table b {
  overflow: hidden;
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}
.owner-proof-mini-table strong {
  color: var(--ink);
  font-size: 12px;
  font-weight: 850;
  white-space: nowrap;
}
.owner-proof-mini-table em {
  overflow: hidden;
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.owner-signal-drill {
  display: grid;
  gap: 10px;
}
.owner-signal-drill-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  border: 1px solid #dbe5f1;
  border-left: 4px solid #475467;
  border-radius: 8px;
  background: #fff;
  padding: 12px 14px;
}
.owner-signal-drill-hero.warn {
  border-left-color: #b54708;
  background: #fffbf5;
}
.owner-signal-drill-hero.pos {
  border-left-color: #067647;
  background: #f6fef9;
}
.owner-signal-drill-hero div {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.owner-signal-drill-hero span,
.owner-signal-formula span,
.owner-signal-action-card span,
.owner-signal-drill-table .head span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.owner-signal-drill-hero strong {
  color: var(--ink);
  font-size: 16px;
  line-height: 1.15;
}
.owner-signal-drill-hero em {
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.25;
}
.owner-signal-drill-hero b {
  color: #101828;
  font-size: 24px;
  line-height: 1;
  text-align: right;
  white-space: nowrap;
}
.owner-signal-drill-hero.warn b {
  color: #b54708;
}
.owner-signal-drill-hero.pos b {
  color: #067647;
}
.owner-cash-shortage-drill {
  gap: 12px;
}
.owner-cash-bridge-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.owner-cash-bridge-summary span {
  display: grid;
  gap: 2px;
  min-width: 0;
  border: 1px solid #dbe5f1;
  border-radius: 8px;
  background: #fff;
  padding: 9px 10px;
}
.owner-cash-bridge-summary b,
.owner-cash-transaction-list > span {
  color: #667085;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.owner-cash-bridge-summary strong {
  color: #101828;
  font-size: 15px;
  line-height: 1.05;
}
.owner-cash-week-table {
  overflow: hidden;
  border: 1px solid #dbe5f1;
  border-radius: 8px;
  background: #fff;
}
.owner-cash-week-table > div {
  display: grid;
  grid-template-columns: minmax(82px, .72fr) repeat(4, minmax(96px, 1fr)) minmax(110px, 1fr);
  gap: 0;
  align-items: stretch;
  border-top: 1px solid #e8eef6;
}
.owner-cash-week-table > div:first-child {
  border-top: 0;
}
.owner-cash-week-table .head {
  background: #f3f6fa;
}
.owner-cash-week-table .actual,
.owner-cash-week-table .actual-current {
  background: #f8fbff;
}
.owner-cash-week-table .actual-current {
  box-shadow: inset 4px 0 0 #2563eb;
}
.owner-cash-week-table .head span {
  padding: 10px 9px;
  color: #475467;
  font-size: 9.5px;
  font-weight: 900;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.owner-cash-week-table div:not(.head) > span,
.owner-cash-week-table div:not(.head) > strong {
  display: grid;
  align-content: center;
  min-height: 45px;
  padding: 7px 9px;
  border-left: 1px solid #eef2f7;
  color: #101828;
  font-size: 12px;
  line-height: 1.15;
}
.owner-cash-week-table div:not(.head) > span {
  border-left: 0;
}
.owner-cash-week-table span b {
  color: #101828;
  font-size: 12px;
}
.owner-cash-week-table span em,
.owner-cash-week-table strong em {
  overflow: hidden;
  color: #667085;
  font-size: 10px;
  font-style: normal;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.owner-cash-week-table strong {
  font-weight: 850;
}
.owner-cash-week-table .tight {
  background: #fffcf5;
}
.owner-cash-week-table .short {
  background: #fff8f5;
}
.owner-cash-week-table .low {
  background: #fff1f0;
  box-shadow: inset 4px 0 0 #b42318;
}
.owner-cash-week-table .short > strong:last-child,
.owner-cash-week-table .low > strong:last-child {
  color: #b42318;
}
.owner-cash-week-table .ok > strong:last-child {
  color: #067647;
}
.owner-cash-week-detail {
  border-top: 1px solid #e8eef6;
  background: #fbfdff;
}
.owner-cash-week-detail summary {
  cursor: pointer;
  padding: 8px 10px;
  color: #475467;
  font-size: 11px;
  font-weight: 850;
}
.owner-cash-week-detail > div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  padding: 0 10px 10px;
}
.owner-cash-week-detail section {
  display: grid;
  align-content: start;
  overflow: hidden;
  border: 1px solid #e4eaf2;
  border-radius: 7px;
  background: #fff;
}
.owner-cash-week-detail header,
.owner-cash-source-row {
  display: grid;
  grid-template-columns: 74px minmax(62px, .5fr) minmax(0, 1fr);
  gap: 7px;
  align-items: center;
  padding: 7px 8px;
}
.owner-cash-week-detail header {
  grid-template-columns: minmax(0, 1fr) 82px;
  border-bottom: 1px solid #eef2f7;
  background: #f8fafc;
}
.owner-cash-week-detail header b,
.owner-cash-week-detail header strong {
  color: #344054;
  font-size: 11px;
  font-weight: 900;
}
.owner-cash-week-detail header strong {
  text-align: right;
}
.owner-cash-source-row {
  border-top: 1px solid #f1f4f8;
  font-size: 10.5px;
}
.owner-cash-source-row:first-of-type {
  border-top: 0;
}
.owner-cash-source-row span,
.owner-cash-source-row b {
  color: #475467;
  font-weight: 850;
}
.owner-cash-source-row em,
.owner-cash-source-row i {
  overflow: hidden;
  color: #101828;
  font-style: normal;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.owner-cash-source-row i {
  grid-column: 3;
  color: #667085;
  font-size: 9.5px;
}
.owner-cash-week-detail p {
  margin: 0;
  padding: 8px;
  color: #667085;
  font-size: 10.5px;
  font-weight: 700;
}
.owner-cash-drill-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(260px, .85fr);
  gap: 10px;
}
.owner-cash-transaction-list {
  display: grid;
  gap: 0;
  overflow: hidden;
  border: 1px solid #dbe5f1;
  border-radius: 8px;
  background: #fff;
}
.owner-cash-transaction-list > span {
  padding: 10px 11px;
  border-bottom: 1px solid #e8eef6;
  background: #f8fafc;
}
.owner-cash-transaction-list p {
  margin: 0;
  padding: 12px;
  color: #667085;
  font-size: 12px;
  font-weight: 700;
}
.owner-cash-transaction-row {
  display: grid;
  grid-template-columns: 60px minmax(72px, .7fr) 82px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  padding: 8px 11px;
  border-top: 1px solid #eef2f7;
  font-size: 11.5px;
}
.owner-cash-transaction-row:first-of-type {
  border-top: 0;
}
.owner-cash-transaction-row span,
.owner-cash-transaction-row b {
  color: #475467;
  font-weight: 850;
}
.owner-cash-transaction-row strong {
  color: #b42318;
  font-size: 12px;
  text-align: right;
}
.owner-cash-transaction-row em {
  overflow: hidden;
  color: #101828;
  font-style: normal;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.owner-signal-formula {
  display: grid;
  gap: 4px;
  border: 1px solid #dbe5f1;
  border-radius: 8px;
  background: #f8fafc;
  padding: 9px 11px;
}
.owner-signal-formula strong {
  color: #344054;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.25;
}
.owner-signal-drill-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(220px, .85fr);
  gap: 10px;
}
.owner-signal-drill-chart {
  display: grid;
  gap: 8px;
  border: 1px solid #dbe5f1;
  border-radius: 8px;
  background: #fff;
  padding: 10px;
}
.owner-signal-drill-chart div {
  display: grid;
  grid-template-columns: minmax(112px, .65fr) minmax(0, 1fr) minmax(64px, auto);
  gap: 9px;
  align-items: center;
}
.owner-signal-drill-chart span {
  overflow: hidden;
  color: #475467;
  font-size: 10.5px;
  font-weight: 850;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}
.owner-signal-drill-chart i {
  display: block;
  height: 10px;
  overflow: hidden;
  border-radius: 999px;
  background: #eef2f7;
}
.owner-signal-drill-chart b {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #93c5fd;
}
.owner-signal-drill-chart .warn b {
  background: #fdba74;
}
.owner-signal-drill-chart .pos b {
  background: #86efac;
}
.owner-signal-drill-chart strong {
  color: var(--ink);
  font-size: 12px;
  font-weight: 850;
  text-align: right;
  white-space: nowrap;
}
.owner-signal-action-card {
  display: grid;
  align-content: start;
  gap: 6px;
  border: 1px solid #dbe5f1;
  border-radius: 8px;
  background: #fff;
  padding: 10px;
}
.owner-signal-action-card strong {
  color: var(--ink);
  font-size: 13px;
  font-weight: 850;
  line-height: 1.25;
}
.owner-signal-action-card em {
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 750;
  line-height: 1.3;
}
.owner-signal-drill-table {
  display: grid;
  overflow: hidden;
  border: 1px solid #dbe5f1;
  border-radius: 8px;
  background: #fff;
}
.owner-signal-drill-table > div {
  display: grid;
  grid-template-columns: minmax(130px, .7fr) minmax(82px, auto) minmax(0, 1.3fr);
  gap: 10px;
  align-items: center;
  min-width: 0;
  border-top: 1px solid #edf2f7;
  padding: 8px 10px;
}
.owner-signal-drill-table > div:first-child {
  border-top: 0;
}
.owner-signal-drill-table .head {
  background: #f8fafc;
}
.owner-signal-drill-table > div > span {
  overflow: hidden;
  color: #475467;
  font-size: 11px;
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.owner-signal-drill-table strong {
  color: var(--ink);
  font-size: 12px;
  font-weight: 850;
  text-align: right;
  white-space: nowrap;
}
.owner-signal-drill-table em {
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.25;
}
.owner-signal-source-link {
  justify-self: stretch;
  text-align: center;
}
.owner-sales-bridge {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.owner-sales-bridge span {
  display: grid;
  gap: 3px;
  min-width: 0;
  border: 1px solid #dbe5f1;
  border-radius: 8px;
  background: #fff;
  padding: 9px 10px;
}
.owner-sales-bridge b,
.owner-spend-driver span {
  overflow: hidden;
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .02em;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}
.owner-sales-bridge strong {
  color: var(--ink);
  font-size: 18px;
  line-height: 1;
}
.owner-sales-bridge strong.neg,
.owner-spend-driver strong.neg {
  color: #b42318;
}
.owner-sales-bridge strong.pos,
.owner-spend-driver strong.pos {
  color: #067647;
}
.owner-sales-bridge em {
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
}
.owner-spend-driver-list {
  display: grid;
  gap: 7px;
}
.owner-spend-driver {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr) 78px 210px;
  gap: 8px;
  align-items: center;
  border: 1px solid #dbe5f1;
  border-radius: 8px;
  background: #fff;
  padding: 8px 9px;
}
.owner-spend-driver div {
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: #eef2f7;
}
.owner-spend-driver i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #b54708;
}
.owner-spend-driver strong {
  color: #b54708;
  font-size: 13px;
  text-align: right;
}
.owner-spend-driver em {
  overflow: hidden;
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.owner-insight-detail-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}
.owner-insight-detail-list span {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 5px;
  align-items: center;
  min-width: 0;
  border: 1px solid #e5edf6;
  border-radius: 8px;
  background: #fff;
  padding: 8px 9px;
}
.owner-insight-detail-list b {
  overflow: hidden;
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}
.owner-insight-detail-list strong {
  color: var(--ink);
  font-size: 12px;
  font-weight: 850;
  text-align: right;
}
.owner-insight-detail-list em {
  grid-column: 1 / -1;
  overflow: hidden;
  color: var(--muted);
  font-size: 10.5px;
  font-style: normal;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.owner-driver-stack {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(330px, 1fr));
  gap: 8px;
  align-items: start;
}
.owner-driver-card {
  --driver-accent: #475569;
  --driver-tint: #f8fafc;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  gap: 7px 10px;
  align-items: center;
  border: 1px solid color-mix(in srgb, var(--driver-accent) 18%, #dbe5f1);
  border-left: 4px solid var(--driver-accent);
  border-radius: 8px;
  background: linear-gradient(90deg, var(--driver-tint), #fff 44%);
  padding: 10px 11px;
}
.owner-driver-card[data-driver-key*="credit"],
.owner-driver-card[data-driver-key*="payment"] {
  --driver-accent: #b54708;
  --driver-tint: #fffbf5;
}
.owner-driver-card[data-driver-key*="inventory"] {
  --driver-accent: #2563eb;
  --driver-tint: #eff6ff;
}
.owner-driver-card[data-driver-key*="customer"] {
  --driver-accent: #0f766e;
  --driver-tint: #f0fdfa;
}
.owner-driver-card[data-driver-key*="structural"] {
  --driver-accent: #7c3aed;
  --driver-tint: #f5f3ff;
}
.owner-driver-card > i {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border: 1px solid color-mix(in srgb, var(--driver-accent) 24%, #dbe5f1);
  border-radius: 8px;
  background: #fff;
  color: var(--driver-accent);
}
.owner-driver-card > i svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}
.owner-driver-copy {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.owner-driver-copy span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.owner-driver-copy strong {
  overflow: hidden;
  color: var(--ink);
  font-size: 15.5px;
  line-height: 1.12;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.owner-driver-copy em {
  color: #475467;
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.28;
}
.owner-driver-value {
  color: var(--driver-accent);
  font-size: 17px;
  font-weight: 950;
  line-height: 1;
  text-align: right;
  white-space: nowrap;
}
.owner-driver-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px 10px;
  align-items: baseline;
}
.owner-driver-head span {
  grid-column: 1 / -1;
  color: var(--muted);
  font-size: 10.5px;
  font-weight: 900;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.owner-driver-head strong {
  overflow: hidden;
  color: var(--ink);
  font-size: 18px;
  line-height: 1.05;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.owner-driver-head em {
  color: #b42318;
  font-size: 18px;
  font-style: normal;
  font-weight: 950;
}
.owner-driver-card p {
  margin: 0;
  color: #334155;
  font-size: 12.5px;
  line-height: 1.35;
}
.owner-driver-math,
.owner-driver-weeks,
.owner-driver-details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}
.owner-driver-math span,
.owner-driver-weeks span,
.owner-driver-details span {
  display: grid;
  gap: 2px;
  min-width: 0;
  border: 1px solid #e5edf6;
  border-radius: 8px;
  background: #fbfdff;
  padding: 7px 8px;
}
.owner-driver-math b,
.owner-driver-weeks b,
.owner-driver-details b {
  overflow: hidden;
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}
.owner-driver-math strong,
.owner-driver-weeks em,
.owner-driver-details em {
  color: var(--ink);
  font-size: 12px;
  font-style: normal;
  font-weight: 850;
}
.owner-driver-details {
  grid-template-columns: 1fr;
}
.owner-driver-details span {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}
.owner-driver-details em {
  color: var(--muted);
  text-align: right;
}
.owner-driver-action {
  grid-column: 2 / -1;
  border-radius: 8px;
  border-top: 1px solid color-mix(in srgb, var(--driver-accent) 14%, #e5edf6);
  background: transparent;
  color: var(--ink);
  padding: 7px 0 0;
  font-size: 12.5px;
  font-weight: 760;
  line-height: 1.32;
}
.owner-driver-action span {
  display: block;
  margin-bottom: 2px;
  color: var(--driver-accent);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.owner-driver-proof {
  grid-column: 2 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}
.owner-driver-proof span,
.owner-driver-sources span {
  display: grid;
  gap: 2px;
  min-width: 0;
  border: 1px solid #e5edf6;
  border-radius: 8px;
  background: rgba(255, 255, 255, .72);
  padding: 7px 8px;
}
.owner-driver-proof b,
.owner-driver-sources b {
  overflow: hidden;
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}
.owner-driver-proof strong,
.owner-driver-sources em {
  overflow: hidden;
  color: var(--ink);
  font-size: 12px;
  font-style: normal;
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.owner-driver-sources {
  grid-column: 2 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 6px;
}
.owner-root-driver-stack {
  display: grid;
  gap: 8px;
}
.owner-root-driver-card {
  --driver-accent: #475569;
  --driver-tint: #f8fafc;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  gap: 7px 10px;
  align-items: center;
  min-width: 0;
  border: 1px solid color-mix(in srgb, var(--driver-accent) 20%, #dbe5f1);
  border-left: 4px solid var(--driver-accent);
  border-radius: 8px;
  background: linear-gradient(90deg, var(--driver-tint), #fff 44%);
  padding: 10px 11px;
}
.owner-root-driver-card[data-driver-key*="spend"] {
  --driver-accent: #b54708;
  --driver-tint: #fffbf5;
}
.owner-root-driver-card[data-driver-key*="inventory"],
.owner-root-driver-card[data-driver-key*="buy"] {
  --driver-accent: #2563eb;
  --driver-tint: #eff6ff;
}
.owner-root-driver-card[data-driver-key*="cash_drag"],
.owner-root-driver-card[data-driver-key*="low_return"] {
  --driver-accent: #7c3aed;
  --driver-tint: #f5f3ff;
}
.owner-root-driver-card[data-driver-key*="labor"] {
  --driver-accent: #0f766e;
  --driver-tint: #f0fdfa;
}
.owner-root-driver-card.win,
.owner-root-driver-card[data-driver-key*="winner"],
.owner-root-driver-card[data-driver-key*="profit"] {
  --driver-accent: #087f5b;
  --driver-tint: #f2fbf7;
}
.owner-root-driver-card > i {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border: 1px solid color-mix(in srgb, var(--driver-accent) 24%, #dbe5f1);
  border-radius: 8px;
  background: #fff;
  color: var(--driver-accent);
}
.owner-root-driver-card svg,
.owner-root-win-strip svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}
.owner-root-driver-main {
  display: grid;
  gap: 2px;
  min-width: 0;
}
.owner-root-driver-main span,
.owner-root-win-strip > span,
.owner-root-driver-card p span {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.owner-root-driver-main strong {
  overflow: hidden;
  color: var(--ink);
  font-size: 15.5px;
  line-height: 1.12;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.owner-root-driver-main em {
  color: #475467;
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.28;
}
.owner-root-driver-card > b {
  color: var(--driver-accent);
  font-size: 17px;
  font-weight: 950;
  line-height: 1;
  text-align: right;
  white-space: nowrap;
}
.owner-root-driver-card .owner-insight-detail-list {
  grid-column: 2 / -1;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}
.owner-root-driver-card .owner-insight-detail-list span {
  background: rgba(255, 255, 255, .72);
  padding: 7px 8px;
}
.owner-root-driver-card p {
  grid-column: 2 / -1;
  margin: 0;
  border-top: 1px solid color-mix(in srgb, var(--driver-accent) 14%, #e5edf6);
  color: var(--ink);
  padding-top: 7px;
  font-size: 12.5px;
  font-weight: 760;
  line-height: 1.32;
}
.owner-root-driver-card p span {
  display: block;
  margin-bottom: 2px;
  color: var(--driver-accent);
}
.owner-root-empty {
  border: 1px solid #dbe5f1;
  border-radius: 8px;
  background: #fbfdff;
  color: var(--muted);
  padding: 12px;
  font-size: 12.5px;
  font-weight: 760;
}
.owner-root-win-strip {
  display: grid;
  grid-template-columns: auto repeat(2, minmax(0, 1fr));
  gap: 7px;
  align-items: center;
  border: 1px solid #d7efe5;
  border-radius: 8px;
  background: #f8fffb;
  padding: 8px 9px;
}
.owner-root-win-strip div {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr) auto;
  gap: 6px;
  align-items: center;
  min-width: 0;
}
.owner-root-win-strip i {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 7px;
  background: #e8f7ef;
  color: #087f5b;
}
.owner-root-win-strip strong {
  overflow: hidden;
  color: var(--ink);
  font-size: 12px;
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.owner-root-win-strip em {
  color: #087f5b;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
  white-space: nowrap;
}
.owner-product-lanes {
  display: grid;
  gap: 8px;
}
.owner-product-lane {
  display: grid;
  grid-template-columns: 128px minmax(0, 1fr) 74px 90px;
  gap: 9px;
  align-items: center;
  border: 1px solid #dbe5f1;
  border-radius: 8px;
  background: #fff;
  color: inherit;
  padding: 8px 9px;
  text-decoration: none;
}
.owner-product-lane:hover {
  border-color: #adc7ef;
  background: #fbfdff;
}
.owner-product-lane span {
  overflow: hidden;
  color: var(--ink);
  font-size: 12px;
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.owner-product-lane div {
  height: 10px;
  overflow: hidden;
  border-radius: 999px;
  background: #eef2f7;
}
.owner-product-lane i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #93c5fd;
}
.owner-product-lane strong,
.owner-product-lane em {
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 850;
  text-align: right;
}
.owner-gap-next {
  display: grid;
  gap: 4px;
  border: 1px solid #dbe5f1;
  border-radius: 8px;
  background: #fbfdff;
  padding: 10px 11px;
}
.owner-gap-next span {
  color: var(--ink);
  font-size: 13px;
  line-height: 1.35;
}

@media (max-width: 1100px) {
  .owner-hero,
  .owner-decision-card,
  .owner-two-col,
  .owner-three-col,
  .owner-answer-grid {
    grid-template-columns: 1fr;
  }
  .owner-decision-math {
    grid-template-columns: 1fr;
  }
  .owner-growth-month {
    grid-template-columns: 1fr;
  }
  .owner-growth-month strong {
    text-align: left;
  }
  .owner-sales-bridge,
  .owner-scenario-read,
  .owner-insight-detail-list,
  .owner-waterfall-row,
  .owner-product-lane,
  .owner-spend-driver,
  .owner-driver-card,
  .owner-driver-proof,
  .owner-driver-sources,
  .owner-driver-head,
  .owner-root-driver-card,
  .owner-root-win-strip,
  .owner-driver-math,
  .owner-driver-weeks,
  .owner-driver-details span {
    grid-template-columns: 1fr;
  }
  .owner-waterfall-row strong,
  .owner-product-lane strong,
  .owner-product-lane em,
  .owner-spend-driver strong,
  .owner-spend-driver em,
  .owner-driver-head em,
  .owner-driver-value,
  .owner-root-driver-card > b,
  .owner-driver-details em {
    text-align: left;
  }
  .owner-driver-proof,
  .owner-driver-sources,
  .owner-driver-action,
  .owner-root-driver-card .owner-insight-detail-list,
  .owner-root-driver-card p {
    grid-column: 1 / -1;
  }
}

@media (max-width: 1366px) {
  .brand-mark.brand-logo {
    width: 82px;
    height: 42px;
    font-size: inherit;
  }
}

/* Manaforge restrained visual pass: black, white, neutral grey, and small blue-turquoise accents only. */
body {
  letter-spacing: 0;
  font-variant-numeric: tabular-nums;
}

.sidebar {
  background: #1e1e1e;
  color: #f7f7f4;
}

.brand {
  padding: 18px 16px;
}

.brand-mark.brand-logo {
  border-color: #d9d9d6;
  background: #fff;
  box-shadow: 0 8px 18px rgba(0, 0, 0, .18);
}

.brand-text strong {
  font-size: 13px;
  font-weight: 750;
  line-height: 1.1;
}

.brand-text span {
  color: #d6da23;
  font-size: 9px;
  font-weight: 700;
  line-height: 1.25;
}

.nav-item {
  color: #eeeeea;
  font-weight: 600;
}

.nav-item:hover {
  background: #2a2a2a;
  color: #fff;
}

.nav-item.active {
  background: #2a2a2a;
  color: #fff;
  font-weight: 650;
  box-shadow: inset 4px 0 0 var(--manaforge-highlight);
}

.sidebar-foot {
  border-top-color: #333;
  color: #d3d3cd;
}

.sidebar-foot .legal-links {
  display: flex;
  gap: 8px;
  margin-top: 8px;
}

.sidebar-foot .legal-link {
  flex: 1;
  padding: 5px 8px;
  border: 1px solid #343434;
  border-radius: 6px;
  color: #d3d3cd;
  font-size: 11px;
  font-weight: 600;
  text-align: center;
}

.sidebar-foot .legal-link:hover,
.sidebar-foot .legal-link.active {
  border-color: #d6da23;
  background: #2a2a2a;
  color: #fff;
  box-shadow: none;
}

/* Public pricing page */
.pricing-page {
  max-width: 1240px;
  gap: 18px;
}

.pricing-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
  gap: 18px;
  align-items: stretch;
  padding: 28px;
  border-left: 5px solid #d3aa2f;
  background: #fbfcf9;
}

.pricing-hero-copy {
  display: grid;
  gap: 12px;
  align-content: start;
}

.pricing-hero-copy > span,
.pricing-hero-panel > span,
.pricing-section-head span,
.pricing-card header span,
.pricing-request-copy span,
.pricing-final-cta > span {
  color: #60695d;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.pricing-hero h2 {
  max-width: 740px;
  margin: 0;
  color: #111;
  font-size: 42px;
  line-height: 1.02;
}

.pricing-hero-copy p {
  max-width: 760px;
  margin: 0;
  color: #3f4740;
  font-size: 16px;
  line-height: 1.48;
}

.pricing-hero-copy > strong {
  color: #1f3325;
  font-size: 18px;
  line-height: 1.25;
}

.pricing-hero-actions,
.pricing-final-cta div {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.pricing-hero-panel {
  display: grid;
  gap: 10px;
  align-content: start;
  padding: 18px;
  border: 1px solid #d9e0d7;
  border-radius: 8px;
  background: #fff;
}

.pricing-hero-panel strong {
  color: #161616;
  font-size: 24px;
  line-height: 1.08;
}

.pricing-hero-panel p,
.pricing-positioning p,
.pricing-boundary p {
  margin: 0;
  color: #4b514b;
  font-size: 13px;
  line-height: 1.55;
}

.pricing-positioning {
  padding: 16px 20px;
  border-left: 4px solid #2d5b43;
  background: #f6faf6;
}

.pricing-positioning p {
  max-width: 980px;
  color: #253128;
  font-size: 15px;
  font-weight: 750;
}

.pricing-offers {
  display: grid;
  grid-template-columns: repeat(5, minmax(210px, 1fr));
  gap: 12px;
  align-items: start;
}

.pricing-card {
  display: grid;
  gap: 13px;
  align-content: start;
  min-width: 0;
  padding: 17px;
  border: 1px solid #dbe2dc;
  border-top: 4px solid #778173;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(16, 24, 40, .06);
}

.pricing-card.recommended {
  border-color: #b89a3d;
  border-top: 7px solid #d3aa2f;
  background: #fffdf4;
  box-shadow: 0 18px 44px rgba(85, 67, 18, .18);
  outline: 2px solid rgba(211, 170, 47, .18);
}

.pricing-card.future {
  border-style: dashed;
  border-top-color: #9ca3af;
  background: #f7f8f8;
  box-shadow: none;
  opacity: .76;
  transform: scale(.985);
  transform-origin: top center;
}

.pricing-card.future .btn {
  border-color: #c8ced5;
  color: #4b5563;
}

.pricing-card.recommended .pricing-badge {
  border-color: #a87912;
  background: #533f0a;
  color: #fff;
}

.pricing-card.pricing-focus {
  outline: 3px solid rgba(211, 170, 47, .28);
  outline-offset: 3px;
}

.pricing-card header {
  display: grid;
  gap: 8px;
}

.pricing-card header > div {
  display: grid;
  gap: 5px;
}

.pricing-card h3,
.pricing-section-head h2,
.pricing-final-cta h2 {
  margin: 0;
  color: #111;
  line-height: 1.12;
}

.pricing-card h3 {
  font-size: 18px;
}

.pricing-badge {
  justify-self: start;
  padding: 4px 9px;
  border: 1px solid #dbc17a;
  border-radius: 999px;
  background: #fff8df;
  color: #5f4300;
  font-size: 11px;
  font-weight: 850;
}

.pricing-price {
  display: grid;
  gap: 4px;
  padding: 11px 12px;
  border: 1px solid #e3e7e0;
  border-radius: 7px;
  background: #f8faf7;
}

.pricing-price strong {
  color: #121212;
  font-size: 18px;
  line-height: 1.1;
}

.pricing-price span {
  color: #50594e;
  font-size: 12px;
  line-height: 1.35;
}

.pricing-card p {
  margin: 0;
  color: #454b45;
  font-size: 13px;
  line-height: 1.45;
}

.pricing-best-fit,
.pricing-includes,
.pricing-boundary-note {
  display: grid;
  gap: 7px;
}

.pricing-best-fit b,
.pricing-includes b,
.pricing-boundary-note b {
  color: #222;
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
}

.pricing-best-fit span,
.pricing-boundary-note span {
  color: #4c554d;
  font-size: 12.5px;
  line-height: 1.4;
}

.pricing-includes ul,
.pricing-fit-card ul {
  display: grid;
  gap: 6px;
  margin: 0;
  padding-left: 18px;
}

.pricing-includes li,
.pricing-fit-card li {
  color: #333a34;
  font-size: 12.5px;
  line-height: 1.35;
}

.pricing-boundary-note {
  padding: 10px;
  border: 1px solid #e3e7e0;
  border-radius: 7px;
  background: #fbfbf8;
}

.pricing-section-head {
  display: grid;
  gap: 4px;
  margin-bottom: 14px;
}

.pricing-section-head h2 {
  font-size: 22px;
}

.pricing-comparison-table {
  min-width: 980px;
  table-layout: fixed;
}

.pricing-comparison-table th,
.pricing-comparison-table td {
  vertical-align: top;
}

.pricing-comparison-table th:first-child,
.pricing-comparison-table td:first-child {
  width: 210px;
}

.pricing-comparison-table td strong {
  display: block;
  color: #111;
  font-size: 13px;
}

.pricing-comparison-table td span {
  display: inline-block;
  margin-top: 5px;
  color: #72540d;
  font-size: 11px;
  font-weight: 800;
}

.pricing-comparison-table a {
  color: #274e73;
  font-weight: 850;
}

.pricing-fit-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.pricing-fit-card.good {
  border-left: 4px solid #2d6b4f;
}

.pricing-fit-card.not-fit {
  border-left: 4px solid #a33b32;
}

.pricing-faq-list {
  display: grid;
  gap: 8px;
}

.pricing-faq details {
  border: 1px solid #e1e6df;
  border-radius: 8px;
  background: #fff;
}

.pricing-faq summary {
  padding: 12px 14px;
  color: #111;
  font-size: 14px;
  font-weight: 850;
  cursor: pointer;
}

.pricing-faq details[open] summary {
  border-bottom: 1px solid #e1e6df;
}

.pricing-faq p {
  margin: 0;
  padding: 12px 14px 14px;
  color: #475047;
  font-size: 13px;
  line-height: 1.5;
}

.pricing-request {
  border-left: 5px solid #274e73;
  background: #f8fbff;
}

.pricing-request-grid {
  display: grid;
  grid-template-columns: minmax(260px, .72fr) minmax(360px, 1fr);
  gap: 18px;
  align-items: start;
}

.pricing-request-copy {
  display: grid;
  gap: 14px;
  align-content: start;
}

.pricing-request-copy p {
  max-width: 520px;
  margin: 0;
  color: #434d58;
  font-size: 13px;
  line-height: 1.55;
}

.pricing-request-proof {
  display: grid;
  gap: 8px;
}

.pricing-request-proof span {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  padding: 8px 10px;
  border: 1px solid #dbe5f1;
  border-radius: 7px;
  background: #fff;
  color: #394552;
  text-transform: none;
}

.pricing-request-proof b {
  width: 22px;
  height: 22px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: #274e73;
  color: #fff;
  font-size: 11px;
}

.pricing-request-form {
  display: grid;
  gap: 12px;
}

.pricing-request-form label {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.pricing-request-form label > span {
  color: #4d5751;
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
}

.pricing-request-form input,
.pricing-request-form select,
.pricing-request-form textarea {
  width: 100%;
  min-width: 0;
  border: 1px solid #ccd7e3;
  border-radius: 7px;
  background: #fff;
  color: #111;
  font: inherit;
  font-size: 13px;
  line-height: 1.35;
}

.pricing-request-form input,
.pricing-request-form select {
  height: 38px;
  padding: 8px 10px;
}

.pricing-request-form textarea {
  resize: vertical;
  min-height: 92px;
  padding: 9px 10px;
}

.pricing-form-two {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.pricing-submit {
  justify-self: start;
}

.pricing-request-status {
  min-height: 18px;
  padding: 9px 11px;
  border: 1px solid transparent;
  border-radius: 7px;
  color: #5f675f;
  font-size: 12px;
  font-weight: 750;
}

.pricing-request-status:empty {
  display: none;
}

.pricing-request-status.ok {
  border-color: #b9dbc9;
  background: #edf8f2;
  color: #17623f;
}

.pricing-request-status.error {
  border-color: #f0c3bf;
  background: #fff3f2;
  color: #a33b32;
}

.pricing-request-status.working {
  border-color: #ead89f;
  background: #fff8df;
  color: #72540d;
}

.pricing-boundary {
  display: grid;
  gap: 10px;
  border-left: 4px solid #3f4a55;
  background: #f7f8f8;
}

.pricing-final-cta {
  display: grid;
  gap: 12px;
  padding: 24px;
  border-left: 5px solid #2d5b43;
  background: #f8fbf9;
}

.pricing-final-cta h2 {
  font-size: 30px;
}

.pricing-inquiry-admin {
  max-width: 1240px;
  gap: 16px;
}

.pricing-inquiry-hero {
  border-left: 5px solid #274e73;
}

.pricing-inquiry-hero p {
  max-width: 850px;
  margin: 8px 0 0;
  color: #475047;
  font-size: 13px;
  line-height: 1.5;
}

.pricing-inquiry-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(160px, 1fr));
  gap: 10px;
  margin-top: 16px;
}

.pricing-inquiry-summary span {
  display: grid;
  gap: 3px;
  padding: 10px 12px;
  border: 1px solid #dbe5f1;
  border-radius: 7px;
  background: #f8fbff;
}

.pricing-inquiry-summary b {
  color: #111;
  font-size: 16px;
}

.pricing-inquiry-summary em {
  color: #60695d;
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
  text-transform: uppercase;
}

.pricing-inquiry-table {
  min-width: 1120px;
  table-layout: fixed;
}

.pricing-inquiry-table th,
.pricing-inquiry-table td {
  vertical-align: top;
}

.pricing-inquiry-table td {
  overflow-wrap: anywhere;
}

.pricing-inquiry-table td strong {
  display: block;
  color: #111;
  font-size: 12.5px;
}

.pricing-inquiry-table td span:not(.badge) {
  display: block;
  margin-top: 3px;
  color: #60695d;
  font-size: 11.5px;
}

@media (max-width: 1280px) {
  .pricing-offers {
    grid-template-columns: repeat(3, minmax(220px, 1fr));
  }
}

@media (max-width: 920px) {
  .pricing-hero,
  .pricing-fit-grid,
  .pricing-request-grid {
    grid-template-columns: 1fr;
  }

  .pricing-hero h2 {
    font-size: 34px;
  }

  .pricing-inquiry-summary {
    grid-template-columns: 1fr;
  }

  .pricing-offers {
    grid-template-columns: repeat(2, minmax(220px, 1fr));
  }
}

@media (max-width: 640px) {
  .pricing-page {
    gap: 14px;
  }

  .pricing-hero,
  .pricing-request,
  .pricing-final-cta {
    padding: 18px;
  }

  .pricing-hero h2 {
    font-size: 29px;
  }

  .pricing-offers {
    grid-template-columns: 1fr;
  }

  .pricing-form-two {
    grid-template-columns: 1fr;
  }

  .pricing-submit {
    width: 100%;
  }
}

html[data-theme="dark"] .pricing-hero,
html[data-theme="dark"] .pricing-positioning,
html[data-theme="dark"] .pricing-card,
html[data-theme="dark"] .pricing-price,
html[data-theme="dark"] .pricing-boundary-note,
html[data-theme="dark"] .pricing-request,
html[data-theme="dark"] .pricing-request-proof span,
html[data-theme="dark"] .pricing-request-form input,
html[data-theme="dark"] .pricing-request-form select,
html[data-theme="dark"] .pricing-request-form textarea,
html[data-theme="dark"] .pricing-faq details,
html[data-theme="dark"] .pricing-boundary,
html[data-theme="dark"] .pricing-final-cta,
html[data-theme="dark"] .pricing-inquiry-hero,
html[data-theme="dark"] .pricing-inquiry-table-panel,
html[data-theme="dark"] .pricing-inquiry-summary span {
  border-color: #38465a;
  background: #101928;
}

html[data-theme="dark"] .pricing-request-status.ok {
  border-color: #225a41;
  background: #102a20;
}

html[data-theme="dark"] .pricing-request-status.error {
  border-color: #6f342f;
  background: #2b1513;
}

html[data-theme="dark"] .pricing-request-status.working {
  border-color: #715d1e;
  background: #2a230f;
}

html[data-theme="dark"] .pricing-card.recommended {
  border-color: #d3aa2f;
}

html[data-theme="dark"] .pricing-card h3,
html[data-theme="dark"] .pricing-section-head h2,
html[data-theme="dark"] .pricing-final-cta h2,
html[data-theme="dark"] .pricing-hero h2,
html[data-theme="dark"] .pricing-hero-panel strong,
html[data-theme="dark"] .pricing-price strong,
html[data-theme="dark"] .pricing-best-fit b,
html[data-theme="dark"] .pricing-includes b,
html[data-theme="dark"] .pricing-boundary-note b,
html[data-theme="dark"] .pricing-comparison-table td strong,
html[data-theme="dark"] .pricing-faq summary,
html[data-theme="dark"] .pricing-inquiry-summary b,
html[data-theme="dark"] .pricing-inquiry-table td strong {
  color: #edf3fb;
}

html[data-theme="dark"] .pricing-hero-copy p,
html[data-theme="dark"] .pricing-hero-copy > strong,
html[data-theme="dark"] .pricing-hero-panel p,
html[data-theme="dark"] .pricing-request-copy p,
html[data-theme="dark"] .pricing-request-proof span,
html[data-theme="dark"] .pricing-request-status,
html[data-theme="dark"] .pricing-card p,
html[data-theme="dark"] .pricing-best-fit span,
html[data-theme="dark"] .pricing-boundary-note span,
html[data-theme="dark"] .pricing-includes li,
html[data-theme="dark"] .pricing-fit-card li,
html[data-theme="dark"] .pricing-positioning p,
html[data-theme="dark"] .pricing-boundary p,
html[data-theme="dark"] .pricing-faq p,
html[data-theme="dark"] .pricing-price span,
html[data-theme="dark"] .pricing-inquiry-hero p,
html[data-theme="dark"] .pricing-inquiry-summary em,
html[data-theme="dark"] .pricing-inquiry-table td span:not(.badge) {
  color: #c5cbd3;
}

.legal-page {
  max-width: 1120px;
}

.legal-hero {
  border-left: 5px solid var(--manaforge-highlight);
}

.legal-hero p {
  max-width: 860px;
  margin: 8px 0 0;
  color: #4f5549;
  font-size: 13px;
  line-height: 1.45;
}

.legal-meta {
  display: grid;
  grid-template-columns: repeat(3, minmax(160px, 1fr));
  gap: 8px;
  margin-top: 16px;
}

.legal-meta span {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid #dededb;
  border-radius: 7px;
  background: #f7f7f5;
}

.legal-meta b {
  color: #5f625f;
  font-size: 10px;
  font-weight: 650;
  text-transform: uppercase;
}

.legal-meta strong {
  min-width: 0;
  overflow: hidden;
  color: #1e1e1e;
  font-size: 13px;
  font-weight: 650;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.legal-note {
  margin-top: 12px;
  padding: 10px 12px;
  border: 1px solid #dededb;
  border-left: 4px solid #1e1e1e;
  border-radius: 7px;
  background: #fff;
  color: #5f625f;
  font-size: 12px;
  font-weight: 600;
}

.legal-document {
  display: grid;
  gap: 16px;
}

.legal-section {
  display: grid;
  gap: 8px;
  padding-bottom: 16px;
  border-bottom: 1px solid #e4e4e0;
}

.legal-section:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.legal-section h3 {
  margin: 0;
  color: #1e1e1e;
  font-size: 15px;
  font-weight: 700;
}

.legal-section p,
.legal-section li {
  color: #333633;
  font-size: 13px;
  line-height: 1.55;
}

.legal-section p,
.legal-section ul {
  margin: 0;
}

.legal-section ul {
  display: grid;
  gap: 6px;
  padding-left: 18px;
}

html[data-theme="dark"] .legal-hero p,
html[data-theme="dark"] .legal-note,
html[data-theme="dark"] .legal-section p,
html[data-theme="dark"] .legal-section li {
  color: #c5cbd3;
}

html[data-theme="dark"] .legal-meta span,
html[data-theme="dark"] .legal-note {
  border-color: #38465a;
  background: #101928;
}

html[data-theme="dark"] .legal-meta b {
  color: #9aa7b8;
}

html[data-theme="dark"] .legal-meta strong,
html[data-theme="dark"] .legal-section h3 {
  color: #edf3fb;
}

html[data-theme="dark"] .legal-section {
  border-bottom-color: #263448;
}

/* Executive owner dashboard upgrade */
body.owner-dashboard-route .content {
  background: #f4f6f8;
}

body.owner-dashboard-route .topbar {
  min-height: 78px;
  padding: 14px 24px;
  border-bottom: 0;
  background: linear-gradient(135deg, #071426 0%, #0b2039 68%, #0a1728 100%);
  color: #f8fbff;
  box-shadow: 0 12px 28px rgba(10, 20, 36, .14);
}

body.owner-dashboard-route .topbar h1 {
  color: #fff;
  font-size: 22px;
  font-weight: 760;
}

body.owner-dashboard-route .topbar-actions {
  flex: 1 1 auto;
}

.owner-exec-top-controls {
  display: grid;
  grid-template-columns: minmax(170px, .7fr) minmax(210px, .8fr) minmax(680px, 2fr);
  gap: 12px;
  align-items: end;
  width: 100%;
}

.owner-exec-top-select {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.owner-exec-top-select span {
  color: #bcc8d8;
  font-size: 10px;
  font-weight: 750;
  text-transform: uppercase;
}

.owner-exec-top-select select,
body.owner-dashboard-route .owner-header-model-change .owner-plan-picker input,
body.owner-dashboard-route .owner-header-model-change .owner-plan-picker select {
  min-height: 34px;
  border: 1px solid rgba(218, 229, 242, .28);
  border-radius: 7px;
  background: rgba(255, 255, 255, .06);
  color: #fff;
  font-weight: 720;
}

body.owner-dashboard-route .owner-header-model-change {
  max-width: none;
}

body.owner-dashboard-route .owner-header-model-change .owner-plan-title span,
body.owner-dashboard-route .owner-header-model-change .owner-plan-picker label span {
  color: #ecf4ff;
}

body.owner-dashboard-route .owner-header-model-change .owner-plan-title strong,
body.owner-dashboard-route .owner-header-model-change .owner-plan-picker label em {
  color: #b5c3d4;
}

body.owner-dashboard-route .owner-header-model-change .owner-plan-actions .btn {
  border-color: rgba(255, 255, 255, .25);
  background: #f8fbff;
  color: #071426;
}

.owner-exec-dashboard {
  display: grid;
  gap: 12px;
  padding: 12px;
  color: #0e1a2b;
}

.owner-exec-panel,
.owner-exec-mini-card,
.owner-exec-diagnosis,
.owner-exec-kpi,
.owner-exec-actions-panel,
.owner-exec-deep-dives {
  border: 1px solid #d8e1ec;
  border-radius: 9px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(15, 23, 42, .05), 0 12px 28px rgba(15, 23, 42, .04);
}

.owner-exec-diagnosis {
  display: grid;
  grid-template-columns: 50px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 13px 15px;
}

.owner-exec-diagnosis > i {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  border: 1px solid #d8d8d4;
  background: #f3f3f0;
  color: #1e1e1e;
}

.owner-exec-diagnosis svg,
.owner-exec-kpi svg,
.owner-exec-mini-card svg,
.owner-exec-deep-dives svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.owner-exec-diagnosis strong {
  display: block;
  color: #172033;
  font-size: 14px;
  font-weight: 780;
  line-height: 1.35;
}

.owner-exec-diagnosis span {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}

.owner-exec-diagnosis b {
  padding: 4px 10px;
  border: 1px solid #d7e4f2;
  border-radius: 999px;
  background: #f7fafc;
  color: #243449;
  font-size: 11px;
  font-weight: 720;
}

.owner-exec-diagnosis b:nth-child(1) {
  border-color: #d8d8d4;
  background: #f5f5f2;
  color: #1f2933;
}

.owner-exec-diagnosis b:nth-child(3) {
  border-color: #eed08d;
  background: #e8f9fd;
  color: #6b4b00;
}

.owner-exec-diagnosis b:nth-child(4) {
  border-color: #cfd6cc;
  background: #f3f6f2;
  color: #253326;
}

.owner-exec-diagnosis button {
  min-height: 34px;
  padding: 7px 12px;
  border: 1px solid #cfdae8;
  border-radius: 7px;
  background: #fff;
  color: #10233e;
  font-weight: 760;
  cursor: pointer;
}

.owner-exec-kpi-grid {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 9px;
}

.owner-exec-kpi {
  min-height: 100px;
  padding: 12px;
  color: #10233e;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  grid-template-areas:
    "icon label"
    "icon value"
    "icon note"
    "delta delta";
  gap: 3px 9px;
  align-content: start;
}

.owner-exec-kpi:hover,
.owner-exec-kpi:focus-visible,
.owner-exec-diagnosis button:hover,
.owner-exec-mini-card:hover,
.owner-exec-mini-card:focus-visible,
.owner-exec-deep-dives a:hover {
  border-color: #1e1e1e;
  box-shadow: 0 0 0 3px rgba(30, 30, 30, .08), 0 12px 28px rgba(15, 23, 42, .06);
}

.owner-exec-kpi i {
  grid-area: icon;
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 9px;
  border: 1px solid #dadfdd;
  background: #f5f5f2;
  color: #1e1e1e;
}

.owner-exec-kpi span {
  grid-area: label;
  color: #334155;
  font-size: 10px;
  font-weight: 820;
  line-height: 1.2;
  text-transform: uppercase;
}

.owner-exec-kpi strong {
  grid-area: value;
  color: #0d1b2f;
  font-size: 21px;
  font-weight: 800;
  line-height: 1.08;
}

.owner-exec-kpi em {
  grid-area: note;
  color: #5a6a80;
  font-size: 11px;
  font-style: normal;
  font-weight: 620;
  line-height: 1.25;
}

.owner-exec-kpi b {
  grid-area: delta;
  color: #64748b;
  font-size: 11px;
  font-weight: 720;
}

.owner-exec-kpi.good strong { color: #0d1b2f; }
.owner-exec-kpi.watch strong { color: #be6b00; }
.owner-exec-kpi.risk strong { color: #d13325; }
.owner-exec-kpi.good i { background: #f5f5f2; color: #1e1e1e; }
.owner-exec-kpi.watch i { background: #fff4df; color: #be6b00; }
.owner-exec-kpi.risk i { background: #fff0ed; color: #d13325; }

.owner-exec-main-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 390px;
  gap: 12px;
  align-items: stretch;
}

.owner-exec-main-left {
  min-width: 0;
}

.owner-exec-panel {
  min-width: 0;
  padding: 12px;
}

.owner-exec-panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.owner-exec-panel-head span,
.owner-exec-mini-head span,
.owner-exec-actions-panel h3,
.owner-exec-deep-dives .owner-exec-panel-head span {
  color: #10233e;
  font-size: 13px;
  font-weight: 820;
  letter-spacing: .01em;
  text-transform: uppercase;
}

.owner-exec-panel-head strong,
.owner-exec-mini-head em {
  display: block;
  margin-top: 2px;
  color: #596a7e;
  font-size: 11px;
  font-weight: 650;
  font-style: normal;
}

.owner-exec-chart-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: flex-end;
}

.owner-exec-chart-stats span {
  padding: 5px 9px;
  border: 1px solid #dbe3ee;
  border-radius: 999px;
  background: #fff;
  color: #46566b;
  font-size: 11px;
  font-weight: 650;
  white-space: nowrap;
}

.owner-exec-chart-stats b {
  color: #0d1b2f;
  font-weight: 820;
}

.owner-exec-chart-stats .good b { color: #0d1b2f; }
.owner-exec-chart-stats .risk b { color: #d13325; }
.owner-exec-chart-stats .watch b { color: #be6b00; }

.owner-exec-chart-wrap {
  position: relative;
  min-width: 0;
}

.owner-exec-cash-svg {
  display: block;
  width: 100%;
  height: auto;
  min-height: 292px;
  font-family: inherit;
}

.owner-exec-cash-svg .period.actual { fill: rgba(30, 30, 30, .025); }
.owner-exec-cash-svg .period.forecast { fill: rgba(255, 255, 255, .38); }
.owner-exec-cash-svg .zone.healthy { fill: rgba(41, 137, 82, .095); }
.owner-exec-cash-svg .zone.caution { fill: rgba(230, 176, 62, .15); }
.owner-exec-cash-svg .zone.shortage { fill: rgba(211, 51, 37, .105); }
.owner-exec-cash-svg .zone.no-reserve { fill: rgba(30, 30, 30, .045); }
.owner-exec-cash-svg .tick line {
  stroke: #dce4ed;
  stroke-dasharray: 4 6;
}
.owner-exec-cash-svg .tick text,
.owner-exec-cash-svg .owner-exec-point text,
.owner-exec-cash-svg .reserve-label,
.owner-exec-cash-svg .zero-label {
  fill: #5c697b;
  font-size: 10px;
  font-weight: 680;
}
.owner-exec-cash-svg .axis {
  stroke: #98a6b8;
}
.owner-exec-cash-svg .zero {
  stroke: #dd3e34;
  stroke-width: 1.2;
  stroke-dasharray: 4 4;
}
.owner-exec-cash-svg .reserve {
  stroke: #0f8fb5;
  stroke-width: 1.8;
  stroke-dasharray: 5 3;
}
.owner-exec-cash-svg .now {
  stroke: #0d1b2f;
  stroke-width: 1.7;
  stroke-dasharray: 2 5;
}
.owner-exec-cash-svg .now-label {
  fill: #0d1b2f;
  font-size: 12px;
  font-weight: 820;
  text-anchor: middle;
  text-transform: uppercase;
}
.owner-exec-cash-svg .period-label {
  fill: #6b7280;
  font-size: 10px;
  font-weight: 820;
  letter-spacing: .08em;
  text-anchor: middle;
}
.owner-exec-cash-svg .actual-line,
.owner-exec-cash-svg .forecast-line {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.owner-exec-cash-svg .actual-line {
  stroke: #111827;
  stroke-width: 2.4;
}
.owner-exec-cash-svg .forecast-line {
  stroke: #1f5fd0;
  stroke-width: 2;
  stroke-dasharray: 6 5;
}
.owner-exec-point circle {
  fill: #fff;
  stroke: #111827;
  stroke-width: 2;
}
.owner-exec-point.forecast circle {
  stroke: #2563eb;
}
.owner-exec-point.current circle {
  fill: #0d1b2f;
  stroke: #fff;
}
.owner-exec-event line {
  stroke: #9aa9ba;
  stroke-width: 1;
}
.owner-exec-event rect {
  fill: #fff;
  stroke: #1e1e1e;
  stroke-width: 2;
}
.owner-exec-event text {
  fill: #0d1b2f;
  font-size: 10px;
  font-weight: 850;
  text-anchor: middle;
  pointer-events: none;
}
.owner-exec-event.inventory rect { stroke: #0f8fb5; fill: #e8f9fd; }
.owner-exec-event.collection rect { stroke: #2f7b51; fill: #f1f7f2; }
.owner-exec-event.payroll rect,
.owner-exec-event.card rect,
.owner-exec-event.ops rect { stroke: #4b5563; fill: #f8fafc; }
.owner-exec-event.funding rect { stroke: #1f5fd0; fill: #f2f6ff; }

.owner-exec-cash-svg .low-callout line,
.owner-exec-event line {
  stroke: #9aa9ba;
  stroke-width: 1;
}

.owner-exec-cash-svg .low-callout rect {
  fill: #fff;
  stroke: #b8c2cf;
  stroke-width: 1.3;
}

.owner-exec-cash-svg .low-callout.risk rect {
  fill: #fff6f4;
  stroke: #d13325;
}

.owner-exec-cash-svg .low-callout text {
  fill: #0d1b2f;
  font-size: 10px;
  font-weight: 820;
}

.owner-exec-cash-svg .low-callout text:first-of-type {
  fill: #5b6573;
  font-size: 9px;
  text-transform: uppercase;
}

.owner-exec-chart-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  padding: 0 4px 2px;
  color: #334155;
  font-size: 11px;
  font-weight: 700;
}

.owner-exec-chart-legend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.owner-exec-chart-legend i {
  width: 22px;
  height: 3px;
  border-radius: 999px;
  background: #111827;
}

.owner-exec-chart-legend .forecast {
  background: #2563eb;
}

.owner-exec-chart-legend .reserve {
  height: 2px;
  background: #0f8fb5;
}

.owner-exec-chart-legend .event {
  width: 9px;
  height: 9px;
  border: 2px solid #e57821;
  background: #fff;
}

.owner-exec-chart-legend em {
  margin-left: auto;
  color: #5e6b7b;
  font-style: normal;
}

.owner-exec-view-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  margin-top: 8px;
  padding: 6px 12px;
  border: 1px solid #d3dce8;
  border-radius: 7px;
  color: #10233e;
  font-size: 12px;
  font-weight: 760;
  text-decoration: none;
}

.owner-exec-actions-panel {
  display: grid;
  gap: 8px;
  padding: 11px;
  align-content: start;
}

.owner-exec-actions-panel section {
  display: grid;
  gap: 7px;
}

.owner-exec-actions-panel h3 {
  margin: 0;
}

.owner-exec-actions-panel h3 em {
  color: #64748b;
  font-size: 11px;
  font-style: normal;
  font-weight: 620;
  text-transform: none;
}

.owner-exec-actions-panel ul,
.owner-exec-actions-panel ol {
  display: grid;
  gap: 5px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.owner-exec-actions-panel li {
  color: #23344c;
  font-size: 11px;
  line-height: 1.35;
}

.owner-exec-actions-panel ol li {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr) auto;
  gap: 7px;
  align-items: center;
}

.owner-exec-actions-panel ol span {
  display: grid;
  place-items: center;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: #10233e;
  color: #fff;
  font-size: 11px;
  font-weight: 800;
}

.owner-exec-actions-panel ol b {
  font-weight: 720;
}

.owner-exec-actions-panel ol strong {
  color: #10834d;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

.owner-exec-actions-panel .btn {
  justify-content: center;
  min-height: 31px;
  border-radius: 7px;
  background: #0b2039;
}

.owner-exec-mini-grid {
  display: grid;
  grid-template-columns: 1.45fr 1.1fr 1.1fr .9fr;
  gap: 12px;
}

.owner-exec-mini-card {
  min-width: 0;
  min-height: 150px;
  padding: 12px;
  color: #10233e;
  text-align: left;
  text-decoration: none;
}

button.owner-exec-mini-card {
  cursor: pointer;
}

.owner-exec-mini-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}

.owner-exec-mini-head a,
.owner-exec-mini-head em {
  color: #375f9f;
  font-size: 11px;
  font-weight: 760;
}

.owner-exec-flow-graphic {
  display: grid;
  grid-template-columns: minmax(90px, 1fr) 24px minmax(90px, 1fr) 24px minmax(90px, 1fr) 24px minmax(90px, 1fr);
  gap: 6px;
  align-items: center;
}

.owner-exec-flow-graphic span {
  display: grid;
  gap: 4px;
  min-height: 76px;
  padding: 10px;
  border: 1px solid #dbe3ee;
  border-radius: 8px;
  background: #fbfcfe;
  text-align: center;
}

.owner-exec-flow-graphic b {
  color: #536174;
  font-size: 10px;
  font-weight: 780;
  text-transform: uppercase;
}

.owner-exec-flow-graphic strong {
  color: #135ec6;
  font-size: 18px;
  font-weight: 820;
}

.owner-exec-flow-graphic em {
  color: #506074;
  font-size: 11px;
  font-style: normal;
  font-weight: 650;
}

.owner-exec-flow-graphic > i {
  height: 2px;
  background: #9aabbe;
  position: relative;
}

.owner-exec-flow-graphic > i::after {
  content: "";
  position: absolute;
  right: -1px;
  top: -4px;
  border-left: 8px solid #9aabbe;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
}

.owner-exec-mini-card p {
  margin: 10px 0 0;
  color: #45566d;
  font-size: 12px;
  line-height: 1.35;
}

.owner-exec-labor-main,
.owner-exec-demand-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.owner-exec-labor-main span,
.owner-exec-demand-grid span {
  display: grid;
  gap: 4px;
  padding: 9px;
  border: 1px solid #dbe3ee;
  border-radius: 8px;
  background: #fbfcfe;
}

.owner-exec-labor-main b,
.owner-exec-demand-grid b {
  color: #5b687a;
  font-size: 10px;
  font-weight: 800;
  text-transform: uppercase;
}

.owner-exec-labor-main strong,
.owner-exec-demand-grid strong {
  color: #0d1b2f;
  font-size: 17px;
  font-weight: 820;
}

.owner-exec-progress {
  height: 9px;
  margin-top: 10px;
  border-radius: 999px;
  background: #e6ebf1;
  overflow: hidden;
}

.owner-exec-progress i {
  display: block;
  width: var(--w, 0%);
  height: 100%;
  background: linear-gradient(90deg, #16a34a, #e88b22);
}

.owner-exec-spark {
  width: 100%;
  height: 54px;
}

.owner-exec-spark polyline {
  fill: none;
  stroke: #10834d;
  stroke-width: 3;
}

.owner-exec-priority-list {
  display: grid;
  gap: 7px;
}

.owner-exec-priority-list > span {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  padding-bottom: 6px;
  border-bottom: 1px solid #edf1f5;
}

.owner-exec-priority-list b {
  display: inline-flex;
  gap: 7px;
  align-items: center;
  min-width: 0;
  font-size: 12px;
}

.owner-exec-priority-list em,
.owner-exec-table em {
  padding: 3px 8px;
  border-radius: 999px;
  font-style: normal;
  font-weight: 800;
  text-align: center;
}

.owner-exec-priority-list .good,
.owner-exec-table .good {
  background: #e8f7ee;
  color: #10834d;
}

.owner-exec-priority-list .watch,
.owner-exec-table .watch {
  background: #fff4df;
  color: #b66a00;
}

.owner-exec-priority-list .reduce,
.owner-exec-table .reduce {
  background: #fff1e8;
  color: #bf4f12;
}

.owner-exec-priority-list .risk,
.owner-exec-table .risk,
.owner-exec-rhythm-grid .risk {
  color: #d13325;
}

.owner-exec-lower-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
  gap: 12px;
}

.owner-exec-table,
.owner-exec-rhythm-grid {
  display: grid;
  border: 1px solid #dbe3ee;
  border-radius: 8px;
  overflow: hidden;
}

.owner-exec-table .head,
.owner-exec-table .row {
  display: grid;
  grid-template-columns: 1.45fr .6fr .8fr .8fr .72fr .72fr 1.2fr;
  min-width: 0;
}

.owner-exec-table .head {
  background: #0b2039;
  color: #fff;
}

.owner-exec-table .head span,
.owner-exec-table .row > * {
  padding: 8px 10px;
  border-right: 1px solid #e6ecf2;
  color: inherit;
  font-size: 11px;
}

.owner-exec-table .head span {
  border-color: rgba(255, 255, 255, .12);
  font-weight: 820;
  text-transform: uppercase;
}

.owner-exec-table .row {
  color: #10233e;
  text-decoration: none;
  border-top: 1px solid #edf1f5;
  background: #fff;
}

.owner-exec-table .row:hover {
  background: #f7faff;
}

.owner-exec-table .row span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
  font-weight: 800;
}

.owner-exec-table .row b,
.owner-exec-table .row strong {
  font-weight: 760;
}

.owner-exec-rhythm-grid {
  overflow-x: auto;
}

.owner-exec-rhythm-grid > div {
  display: grid;
  grid-template-columns: 120px repeat(7, minmax(72px, 1fr));
  min-width: 680px;
}

.owner-exec-rhythm-grid span,
.owner-exec-rhythm-grid b {
  padding: 8px 9px;
  border-right: 1px solid #e6ecf2;
  border-bottom: 1px solid #edf1f5;
  font-size: 11px;
}

.owner-exec-rhythm-grid .head {
  background: #f7f9fc;
  font-weight: 820;
}

.owner-exec-rhythm-grid .good {
  color: #10834d;
}

.owner-exec-deep-dives {
  padding: 12px;
}

.owner-exec-deep-dives > div:last-child {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 10px;
}

.owner-exec-deep-dives a {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  grid-template-areas:
    "icon title"
    "icon sub";
  gap: 2px 10px;
  min-height: 58px;
  padding: 10px;
  border: 1px solid #dbe3ee;
  border-radius: 8px;
  color: #10233e;
  text-decoration: none;
}

.owner-exec-deep-dives i {
  grid-area: icon;
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 8px;
  background: #eef5ff;
  color: #235fb5;
}

.owner-exec-deep-dives span {
  grid-area: title;
  font-size: 12px;
  font-weight: 820;
}

.owner-exec-deep-dives em {
  grid-area: sub;
  color: #64748b;
  font-size: 10.5px;
  font-style: normal;
  font-weight: 650;
}

@media (max-width: 1500px) {
  .owner-exec-top-controls {
    grid-template-columns: minmax(0, 1fr);
  }

  .owner-exec-kpi-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .owner-exec-mini-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .owner-exec-deep-dives > div:last-child {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 1180px) {
  .owner-exec-main-grid,
  .owner-exec-lower-grid {
    grid-template-columns: 1fr;
  }

  .owner-exec-actions-panel {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 820px) {
  .owner-exec-diagnosis,
  .owner-exec-actions-panel {
    grid-template-columns: 1fr;
  }

  .owner-exec-kpi-grid,
  .owner-exec-mini-grid,
  .owner-exec-deep-dives > div:last-child {
    grid-template-columns: 1fr;
  }

  .owner-exec-flow-graphic {
    grid-template-columns: 1fr;
  }

  .owner-exec-flow-graphic > i {
    display: none;
  }
}

@media (max-width: 820px) {
  .legal-meta {
    grid-template-columns: 1fr;
  }
}

.topbar {
  background: #fff;
  border-bottom-color: #dededb;
}

.topbar h1 {
  font-weight: 700;
}

.topbar #status-pill,
.topbar #theme-toggle,
.topbar #refresh-btn {
  display: none;
}

.btn {
  border-color: #1e1e1e;
  border-radius: 7px;
  background: #1e1e1e;
  color: #fff;
  font-weight: 650;
}

.btn:hover {
  border-color: #000;
  background: #000;
}

.btn.ghost {
  border-color: #d7d7d3;
  background: #fff;
  color: #1e1e1e;
}

.btn.ghost:hover {
  border-color: #bcbcb7;
  background: #f5f5f3;
}

.pill {
  border: 1px solid #d9e8de;
  background: #eef8f1;
}

.card,
.panel,
.dashboard-toolbar,
.dashboard-hero-kpi,
.owner-question-card,
.owner-signal-card,
.owner-product-proof-table,
.owner-page-v2 .owner-v2-signal-grid > .owner-question-card,
.owner-page-v2 .owner-signal-card.additional {
  border-color: #dededb;
  background: #fff;
  box-shadow: 0 8px 24px rgba(30, 30, 30, .05);
}

.owner-page-v2 {
  border-color: #dededb;
  background: linear-gradient(180deg, #fff 0%, #f4f4f2 100%);
  box-shadow: 0 14px 34px rgba(30, 30, 30, .07);
}

.owner-page-v2::before {
  height: 4px;
  background: linear-gradient(90deg, var(--manaforge-highlight) 0 56px, #1e1e1e 56px 72%, #d6d6d2 72% 100%);
}

.owner-page-v2 .owner-v2-hero {
  border-color: #d6d6d2;
  background: #e9e9e5;
  color: #1e1e1e;
  box-shadow: 0 8px 18px rgba(30, 30, 30, .07);
}

.owner-page-v2 .owner-plan-title {
  border-bottom-color: #d0d0cb;
}

.owner-page-v2 .owner-plan-title span {
  color: #1e1e1e;
  font-weight: 650;
  letter-spacing: .02em;
}

.owner-page-v2 .owner-plan-title strong,
.owner-page-v2 .owner-plan-picker label span {
  color: #1e1e1e;
  font-weight: 650;
}

.owner-page-v2 .owner-plan-picker label em {
  color: #5f625f;
  font-weight: 600;
}

.owner-page-v2 .owner-plan-picker input,
.owner-page-v2 .owner-plan-picker select {
  border-color: #d7d7d3;
  background: #fff;
  color: #1e1e1e;
  font-weight: 650;
}

.owner-page-v2 .owner-plan-actions .btn {
  border-color: #c8c8c2;
  background: #fff;
  color: #1e1e1e;
  font-weight: 700;
  box-shadow: none;
}

.owner-page-v2 .owner-plan-actions .btn:hover {
  border-color: #d6d6d2;
  background: #f4f4f2;
  color: #000;
}

.owner-page-v2 .owner-v2-signal-grid > .owner-question-card:first-child {
  grid-column: auto;
  min-height: 136px;
  background: linear-gradient(90deg, rgba(200, 58, 50, .07), #fff 48%);
}

.owner-page-v2 .owner-v2-signal-grid > button.owner-question-card:hover,
.owner-page-v2 .owner-v2-signal-grid > button.owner-question-card:focus-visible {
  border-color: #1e1e1e;
  background: #fff;
}

.owner-page-v2 .owner-card-kind-icon,
.owner-v2-signal-grid .owner-card-kind-icon {
  border-color: #1e1e1e;
  background: #1e1e1e;
  color: #fff;
}

.owner-page-v2 .owner-card-priority-icon {
  border-color: #d6d6d2;
  background: #f7f7f5;
  color: #1e1e1e;
}

.owner-page-v2 .owner-card-flag,
.owner-page-v2 .owner-card-summary,
.owner-v2-signal-grid .owner-card-summary {
  color: #1e1e1e;
  font-weight: 650;
}

.owner-page-v2 .owner-card-amount,
.owner-v2-signal-grid .owner-card-amount {
  color: #1e1e1e;
  font-weight: 750;
}

.owner-page-v2 .owner-card-proof-pills {
  border-top-color: #e7e7e3;
}

.owner-page-v2 .owner-card-proof-pills b {
  border-right-color: #e7e7e3;
}

.owner-page-v2 .owner-signal-head,
.owner-page-v2 .owner-product-proof-row.head,
.transaction-manager-table th,
.product-econ-card > header {
  background: #e9e9e5;
}

.owner-page-v2 .owner-signal-head span,
.owner-page-v2 .owner-product-proof-row.head span,
.transaction-manager-table th,
.product-econ-card > header em {
  color: #1e1e1e;
}

.transaction-manager-table th,
.product-econ-card > header {
  background: #1e1e1e;
}

.transaction-manager-table th,
.product-econ-card > header em {
  color: #f2f2ea;
}

.owner-page-v2 .owner-product-proof-row {
  border-top-color: #e8e8e4;
}

.owner-page-v2 .owner-product-proof-name .manaforge-product-thumb,
.owner-product-proof-name .manaforge-product-thumb,
.manaforge-product-thumb {
  border-color: #d6d6d2;
  background: #f7f7f5;
}

.owner-popup-modal {
  border-color: #d6d6d2;
  background: #fff;
  box-shadow: 0 28px 72px rgba(0, 0, 0, .34);
}

.owner-popup-modal::before {
  height: 4px;
  background: linear-gradient(90deg, var(--manaforge-highlight) 0 52px, #1e1e1e 52px 76%, #d6d6d2 76% 100%);
}

.owner-popup-modal h3 {
  border-bottom-color: #d6d6d2;
  background: #1e1e1e;
  color: #fff;
  font-weight: 700;
}

.owner-popup-modal h3::before {
  color: #ecece6;
  font-weight: 650;
}

.owner-popup-modal .modal-actions {
  border-top-color: #dededb;
  background: rgba(255, 255, 255, .96);
}

.owner-popup-modal .modal-actions .btn,
.transaction-manager-table .btn {
  border-color: #1e1e1e;
  background: #1e1e1e;
  color: #fff;
  font-weight: 700;
}

.owner-popup-modal .modal-actions .btn:hover,
.transaction-manager-table .btn:hover {
  border-color: #000;
  background: #000;
  color: #fff;
}

.owner-popup-modal .owner-signal-drill-hero {
  border-color: #dededb;
  border-left-color: #1e1e1e;
  background: #fff;
  box-shadow: 0 8px 20px rgba(30, 30, 30, .05);
}

.owner-popup-modal .owner-signal-drill-hero.warn,
.owner-popup-modal .owner-signal-drill-hero.neg {
  border-left-color: #c83a32;
  background: linear-gradient(90deg, rgba(200, 58, 50, .06), #fff 44%);
}

.owner-popup-modal .owner-signal-drill-hero.pos {
  border-left-color: #15885d;
}

.owner-popup-modal .owner-signal-drill-hero span,
.owner-popup-modal .owner-signal-formula span,
.owner-popup-modal .owner-signal-action-card span,
.owner-popup-modal .owner-signal-drill-table .head span,
.owner-popup-modal .owner-cash-bridge-summary b,
.owner-popup-modal .owner-cash-transaction-list > span {
  color: #5e625f;
  font-weight: 650;
}

.owner-popup-modal .owner-cash-week-table,
.owner-popup-modal .owner-cash-week-detail section,
.owner-popup-modal .owner-cash-transaction-list,
.owner-popup-modal .owner-signal-formula,
.owner-popup-modal .owner-signal-action-card,
.owner-popup-modal .owner-signal-drill-chart,
.owner-popup-modal .owner-signal-drill-table {
  border-color: #dededb;
  background: #fff;
}

.owner-popup-modal .owner-cash-week-table .head,
.owner-popup-modal .owner-cash-week-detail header,
.owner-popup-modal .owner-cash-transaction-list > span,
.owner-popup-modal .owner-signal-drill-table .head {
  background: #1e1e1e;
}

.owner-popup-modal .owner-cash-week-table .head span,
.owner-popup-modal .owner-cash-week-detail header b,
.owner-popup-modal .owner-cash-week-detail header strong,
.owner-popup-modal .owner-cash-transaction-list > span,
.owner-popup-modal .owner-signal-drill-table .head span {
  color: #f2f2ea;
}

.owner-popup-modal .owner-cash-week-table > div,
.owner-popup-modal .owner-cash-source-row,
.owner-popup-modal .owner-cash-transaction-row,
.owner-popup-modal .owner-signal-drill-table > div {
  border-top-color: #e8e8e4;
}

.owner-popup-modal .owner-cash-week-table .actual,
.owner-popup-modal .owner-cash-week-table .actual-current,
.owner-popup-modal .owner-cash-week-detail {
  background: #f8f8f6;
}

.owner-popup-modal .owner-cash-week-table .actual-current {
  box-shadow: inset 4px 0 0 #1e1e1e;
}

.owner-popup-modal .owner-cash-week-table .tight {
  background: #fdfdf9;
}

.owner-popup-modal .owner-cash-week-detail summary::marker {
  color: #1e1e1e;
}

.transaction-manager-intro,
.product-econ-intro,
.manaforge-product-strip {
  border-left-color: var(--manaforge-highlight);
  background: #fff;
}

.manaforge-product-strip,
.product-management-subpanel,
.product-econ-card,
.product-mix-rule,
.product-materials-panel {
  border-color: #dededb;
}

.manaforge-product-card,
.product-ims-supply span {
  border-color: #e2e2de;
  background: #fff;
}

.product-management-subhead,
.product-mix-rule-head,
.product-materials-head,
.product-ims-supply span {
  border-color: #e8e8e4;
  background: #f7f7f5;
}

.manaforge-product-card img {
  background: #f4f4f2;
}

.manaforge-product-card span {
  color: #545850;
}

.product-econ-card > header .btn {
  border-color: #fff;
  background: #fff;
  color: #1e1e1e;
}

.product-econ-card > header .btn:hover {
  border-color: #d6d6d2;
  background: #f4f4f2;
  color: #000;
}

@media (min-width: 761px) {
  .modal-overlay {
    left: 248px;
  }

  .owner-popup-modal {
    width: min(980px, calc(100vw - 284px));
  }

  .owner-popup-modal.owner-visual-modal {
    width: min(1120px, calc(100vw - 284px));
  }
}

.owner-cash-week-table > details.owner-cash-week-row {
  border-top: 1px solid #e8e8e4;
  background: #fff;
}

.owner-cash-week-table > details.owner-cash-week-row > summary {
  display: grid;
  grid-template-columns: minmax(82px, .72fr) repeat(4, minmax(96px, 1fr)) minmax(110px, 1fr);
  align-items: stretch;
  padding: 0;
  color: inherit;
  cursor: pointer;
  list-style: none;
}

.owner-cash-week-table > details.owner-cash-week-row > summary::-webkit-details-marker {
  display: none;
}

.owner-cash-week-table > details.owner-cash-week-row > summary::marker {
  content: "";
}

.owner-cash-week-table > details.owner-cash-week-row > summary > span,
.owner-cash-week-table > details.owner-cash-week-row > summary > strong {
  display: grid;
  align-content: center;
  min-height: 45px;
  padding: 7px 9px;
  border-left: 1px solid #eef2f7;
  color: #101828;
  font-size: 12px;
  line-height: 1.15;
}

.owner-cash-week-table > details.owner-cash-week-row > summary > span:first-child {
  border-left: 0;
}

.owner-cash-week-label {
  grid-template-columns: 14px minmax(0, 1fr);
  gap: 6px;
  align-items: center;
}

.owner-cash-row-caret {
  width: 0;
  height: 0;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-left: 5px solid #1e1e1e;
  transition: transform .12s ease;
}

.owner-cash-week-row[open] .owner-cash-row-caret {
  transform: rotate(90deg);
}

.owner-cash-week-table > details.owner-cash-week-row:hover > summary,
.owner-cash-week-table > details.owner-cash-week-row:focus-within > summary {
  background: #f8f8f6;
}

.owner-cash-week-table > details.owner-cash-week-row > summary:focus {
  outline: 1px solid #bcbcb7;
  outline-offset: -1px;
}

.owner-cash-week-table .short > summary > strong:last-child,
.owner-cash-week-table .low > summary > strong:last-child {
  color: #b42318;
}

.owner-cash-week-table .ok > summary > strong:last-child {
  color: #067647;
}

.owner-ending-cash-chart-card {
  border: 1px solid #dfe5dc;
  border-radius: 8px;
  background: #fff;
  padding: 11px 12px 8px;
  box-shadow: 0 8px 22px rgba(30, 30, 30, .045);
}

.owner-ending-cash-chart-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 4px;
}

.owner-ending-cash-chart-head span {
  color: #4f5549;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.owner-ending-cash-chart-head strong {
  color: #c2410c;
  font-size: 12px;
  font-weight: 950;
}

.owner-ending-cash-chart {
  display: block;
  width: 100%;
  height: auto;
  max-height: 270px;
}

.owner-ending-cash-chart .axis {
  stroke: #1e1e1e;
  stroke-width: 1.4;
}

.owner-ending-cash-chart .axis-title {
  fill: #4f5549;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.owner-ending-cash-chart .tick line {
  stroke: #e1e6de;
  stroke-width: 1;
}

.owner-ending-cash-chart .tick text,
.owner-ending-cash-chart .week-label,
.owner-ending-cash-chart .period-label {
  fill: #5d645b;
  font-size: 10px;
  font-weight: 850;
}

.owner-ending-cash-chart .period-label {
  fill: #81877f;
  font-size: 8px;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.owner-ending-cash-chart .ending-cash-line {
  fill: none;
  stroke: #1e1e1e;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.owner-ending-cash-chart .cash-floor-line {
  stroke: #c2410c;
  stroke-width: 1.4;
  stroke-dasharray: 5 5;
}

.owner-ending-cash-chart .cash-floor-label {
  fill: #c2410c;
  font-size: 10px;
  font-weight: 900;
}

.owner-ending-cash-chart .ending-cash-point circle {
  fill: #fff;
  stroke: #1e1e1e;
  stroke-width: 2.2;
}

.owner-ending-cash-chart .ending-cash-point.actual circle {
  fill: #f8faf4;
}

.owner-ending-cash-chart .ending-cash-point.actual-current circle {
  fill: var(--manaforge-highlight);
}

.owner-ending-cash-chart .ending-cash-point.short circle,
.owner-ending-cash-chart .ending-cash-point.low-point circle {
  stroke: #c2410c;
  fill: #fff7f4;
}

.owner-ending-cash-chart .ending-cash-point .point-value {
  fill: #111;
  font-size: 11px;
  font-weight: 950;
}

.owner-cash-week-matrix-wrap {
  overflow: auto;
  border: 1px solid #dfe5dc;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(30, 30, 30, .045);
}

.owner-cash-week-matrix {
  width: 100%;
  min-width: 1180px;
  border-collapse: separate;
  border-spacing: 0;
  color: #111;
  font-size: 12px;
}

.owner-cash-week-matrix th,
.owner-cash-week-matrix td {
  border-left: 1px solid #e2e7d6;
  border-top: 1px solid #e2e7d6;
  padding: 8px 9px;
  text-align: right;
  white-space: nowrap;
}

.owner-cash-week-matrix th:first-child,
.owner-cash-week-matrix td:first-child {
  border-left: 0;
}

.owner-cash-week-matrix thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  border-top: 0;
  background: #1e1e1e;
  color: #fff;
  font-weight: 950;
}

.owner-cash-week-matrix thead th:first-child,
.owner-cash-week-matrix tbody th {
  position: sticky;
  left: 0;
  z-index: 3;
  min-width: 156px;
  text-align: left;
}

.owner-cash-week-matrix thead th:first-child {
  background: #1e1e1e;
  color: var(--manaforge-highlight);
}

.owner-cash-week-matrix thead th span,
.owner-cash-week-matrix thead th em {
  display: block;
}

.owner-cash-week-matrix thead th span {
  font-size: 11px;
  line-height: 1.05;
}

.owner-cash-week-matrix thead th em {
  margin-top: 3px;
  color: #cfd6c9;
  font-size: 8px;
  font-style: normal;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.owner-cash-week-matrix tbody th {
  z-index: 1;
  background: #fff;
  color: #1e1e1e;
  font-weight: 900;
}

.owner-cash-week-matrix td {
  font-weight: 850;
  background: #fff;
}

.owner-cash-week-matrix td.actual,
.owner-cash-week-matrix td.actual-current {
  background: #fbfcf4;
}

.owner-cash-week-matrix td.actual-current {
  box-shadow: inset 0 3px 0 var(--manaforge-highlight);
}

.owner-cash-week-matrix td.forecast {
  background: #fff;
}

.owner-cash-week-matrix td.tight {
  background: #fffdf2;
}

.owner-cash-week-matrix td.short,
.owner-cash-week-matrix td.low,
.owner-cash-week-matrix td.short-point,
.owner-cash-week-matrix td.low-point {
  background: #fff7f4;
  color: #c2410c;
}

.owner-cash-week-matrix .owner-cash-section-row th {
  position: static;
  left: auto;
  padding: 7px 10px;
  background: #eef1ea;
  color: #4f5549;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .04em;
  text-align: left;
  text-transform: uppercase;
}

.owner-cash-week-matrix .subtotal-row th,
.owner-cash-week-matrix .subtotal-row td,
.owner-cash-week-matrix .ending-row th,
.owner-cash-week-matrix .ending-row td {
  font-weight: 950;
}

.owner-cash-week-source-list {
  display: grid;
  gap: 7px;
  border: 1px solid #dfe5dc;
  border-radius: 8px;
  background: #fff;
  padding: 10px;
}

.owner-cash-source-list-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 4px;
}

.owner-cash-source-list-head span {
  color: #4f5549;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.owner-cash-source-list-head strong {
  color: #6b7068;
  font-size: 11px;
  font-weight: 800;
}

.owner-cash-week-source-detail {
  border: 1px solid #e1e6de;
  border-radius: 7px;
  background: #fbfcf8;
  overflow: hidden;
}

.owner-cash-week-source-detail summary {
  display: grid;
  grid-template-columns: minmax(150px, 1fr) minmax(100px, .75fr) minmax(110px, .75fr);
  gap: 10px;
  align-items: center;
  padding: 8px 10px;
  cursor: pointer;
  list-style: none;
}

.owner-cash-week-source-detail summary::-webkit-details-marker {
  display: none;
}

.owner-cash-week-source-detail summary::marker {
  content: "";
}

.owner-cash-week-source-detail summary span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #111;
  font-weight: 950;
}

.owner-cash-week-source-detail summary b {
  color: #686f64;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.owner-cash-week-source-detail summary strong {
  text-align: right;
  font-weight: 950;
}

.owner-cash-week-source-detail[open] .owner-cash-row-caret {
  transform: rotate(90deg);
}

.owner-cash-week-source-detail > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  padding: 0 10px 10px;
}

/* Inventory IMS operating system */
.inventory-system-page {
  display: grid;
  gap: 14px;
}

.inventory-system-page .owner-panel {
  box-shadow: 0 8px 24px rgba(30, 30, 30, .045);
}

.ims-secondary-nav {
  display: flex;
  align-items: center;
  gap: 4px;
  overflow-x: auto;
  padding: 6px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.ims-secondary-nav a {
  flex: 0 0 auto;
  padding: 7px 10px;
  border: 1px solid transparent;
  border-radius: 6px;
  color: #414440;
  font-size: 12px;
  font-weight: 760;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}

.ims-secondary-nav a:hover {
  border-color: #d9d9d4;
  background: #f4f4f2;
  color: #111;
}

.ims-secondary-nav a.active {
  border-color: #1e1e1e;
  background: #1e1e1e;
  color: #fff;
}

.ims-context-bar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: end;
  background: #e9e9e5;
}

.ims-context-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(118px, 1fr));
  gap: 8px;
}

.ims-context-grid label,
.ims-filter-row label {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.ims-context-grid label span,
.ims-filter-row label span {
  color: #4d514c;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.ims-context-grid input,
.ims-context-grid select,
.ims-filter-row input,
.ims-filter-row select {
  width: 100%;
  min-height: 34px;
  border: 1px solid #cfd2ca;
  border-radius: 6px;
  background: #fff;
  color: #111;
  font-size: 12px;
  font-weight: 650;
}

.ims-context-actions,
.ims-table-actions,
.ims-panel-actions,
.ims-shell-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  align-items: center;
  justify-content: flex-end;
}

.ims-overview-hero {
  display: grid;
  gap: 4px;
  border-top: 4px solid #1e1e1e;
}

.ims-overview-hero p,
.ims-workflow-shell p {
  max-width: 980px;
  margin: 0;
  color: #52564f;
  font-size: 12.5px;
  line-height: 1.42;
}

.ims-kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.ims-kpi-card {
  display: grid;
  grid-template-rows: auto auto minmax(36px, auto) auto auto;
  gap: 6px;
  min-height: 154px;
  padding: 13px;
  border: 1px solid #d8dcd4;
  border-radius: 8px;
  background: #fff;
  color: #111;
  text-decoration: none;
  box-shadow: 0 8px 22px rgba(30, 30, 30, .04);
}

.ims-kpi-card:hover,
.ims-kpi-card:focus-visible {
  border-color: #1e1e1e;
  box-shadow: 0 10px 28px rgba(30, 30, 30, .075);
}

.ims-kpi-card span,
.ims-workflow-shell .owner-panel-head span,
.ims-mini-panel .owner-panel-head span,
.ims-products-page .owner-panel-head span {
  color: #555952;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .035em;
  text-transform: uppercase;
}

.ims-kpi-card strong {
  color: #111;
  font-size: 22px;
  font-weight: 850;
  line-height: 1.05;
  overflow-wrap: anywhere;
}

.ims-kpi-card em {
  color: #4e534d;
  font-size: 12px;
  font-style: normal;
  line-height: 1.3;
}

.ims-kpi-card small {
  color: #6b7068;
  font-size: 11px;
  font-weight: 700;
}

.ims-kpi-card b {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  font-weight: 700;
}

.ims-confidence,
.ims-status,
.ims-freshness {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  padding: 3px 7px;
  border: 1px solid #d8dcd4;
  border-radius: 999px;
  background: #f4f4f2;
  color: #4b5049;
  font-size: 10px;
  font-weight: 850;
  line-height: 1;
  white-space: nowrap;
}

.ims-confidence.high,
.ims-status.high {
  border-color: #cfe9d9;
  background: #edf8f1;
  color: #0f6e48;
}

.ims-confidence.medium,
.ims-status.medium {
  border-color: #d9d9d4;
  background: #f2f2ef;
  color: #3f423c;
}

.ims-confidence.review,
.ims-status.review {
  border-color: #f1d2cd;
  background: #fff3f1;
  color: #a4372d;
}

.ims-freshness {
  overflow: hidden;
  max-width: 150px;
  text-overflow: ellipsis;
}

.ims-overview-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.ims-mini-panel,
.ims-products-page,
.ims-workflow-shell {
  min-width: 0;
}

.ims-mini-table,
.ims-shell-table table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  color: #111;
  font-size: 12px;
}

.ims-mini-table th,
.ims-mini-table td,
.ims-shell-table th,
.ims-shell-table td {
  border-bottom: 1px solid #e2e5df;
  padding: 9px 10px;
  text-align: left;
  vertical-align: middle;
}

.ims-mini-table th {
  width: 32%;
  font-weight: 800;
}

.ims-mini-table td {
  color: #222;
  font-weight: 650;
}

.ims-mini-table thead th,
.ims-shell-table thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  border-bottom-color: #cfd2ca;
  background: #e9e9e5;
  color: #111;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .025em;
  text-transform: uppercase;
  white-space: nowrap;
}

.ims-shell-table {
  max-width: 100%;
  max-height: calc(100vh - 330px);
  overflow: auto;
  border: 1px solid #d8dcd4;
  border-radius: 8px;
  background: #fff;
}

.ims-shell-table td,
.ims-shell-table th {
  white-space: nowrap;
}

.ims-shell-table td:first-child,
.ims-shell-table th:first-child {
  position: sticky;
  left: 0;
  z-index: 3;
  background: #fff;
}

.ims-shell-table thead th:first-child {
  background: #e9e9e5;
  z-index: 4;
}

.ims-shell-table td strong {
  display: block;
  font-weight: 820;
}

.ims-shell-table td span,
.ims-product-table td span {
  display: block;
  margin-top: 2px;
}

.ims-filter-row {
  display: grid;
  grid-template-columns: minmax(180px, 1.6fr) repeat(6, minmax(120px, 1fr));
  gap: 8px;
  margin-bottom: 10px;
}

.ims-filter-row select:nth-of-type(n+7) {
  display: none;
}

.ims-table-actions {
  justify-content: flex-start;
  margin-bottom: 10px;
}

.ims-product-table-wrap {
  max-height: calc(100vh - 360px);
}

.ims-product-table td:first-child {
  min-width: 210px;
}

.ims-product-table td:first-child strong {
  color: #111;
}

.ims-product-table th,
.ims-product-table td {
  min-width: 92px;
}

.ims-product-table th:nth-child(18),
.ims-product-table td:nth-child(18) {
  min-width: 180px;
  white-space: normal;
}

.ims-pagination-note {
  margin-top: 9px;
  color: #5f645e;
  font-size: 11.5px;
  font-weight: 700;
}

.ims-workflow-shell {
  display: grid;
  gap: 10px;
}

.ims-workflow-shell .empty {
  padding: 28px;
  color: #646963;
  font-size: 12px;
  font-weight: 700;
  text-align: center;
  white-space: normal;
}

.inventory-system-page .muted {
  color: #767a74;
}

html[data-theme="dark"] .ims-secondary-nav,
html[data-theme="dark"] .ims-kpi-card,
html[data-theme="dark"] .ims-shell-table,
html[data-theme="dark"] .ims-shell-table td:first-child {
  background: #171717;
}

html[data-theme="dark"] .ims-kpi-card {
  border-color: #465466;
  background: #121c2b;
  color: #edf2f7;
}

html[data-theme="dark"] .ims-kpi-card:hover,
html[data-theme="dark"] .ims-kpi-card:focus-visible {
  border-color: #94d3ff;
  box-shadow: 0 10px 28px rgba(148, 211, 255, .12);
}

html[data-theme="dark"] .ims-kpi-card span {
  color: #b9c6d8;
}

html[data-theme="dark"] .ims-kpi-card strong {
  color: #f8fafc;
}

html[data-theme="dark"] .ims-kpi-card em,
html[data-theme="dark"] .ims-kpi-card small {
  color: #cbd5e1;
}

html[data-theme="dark"] .ims-context-bar,
html[data-theme="dark"] .ims-mini-table thead th,
html[data-theme="dark"] .ims-shell-table thead th,
html[data-theme="dark"] .ims-shell-table thead th:first-child {
  background: #2a2a28;
}

html[data-theme="dark"] .ims-secondary-nav a.active {
  background: #fff;
  color: #111;
}

/* Labor & Capacity */
.labor-capacity-page {
  display: grid;
  gap: 14px;
}

.labor-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  border-left: 4px solid var(--accent);
}

.labor-hero span,
.labor-decision-card span,
.labor-alternatives strong {
  color: #555952;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .035em;
  text-transform: uppercase;
}

.labor-hero h2 {
  max-width: 980px;
  margin: 4px 0 5px;
  color: #111;
  font-size: 20px;
  line-height: 1.18;
}

.labor-hero p {
  margin: 0;
  color: #4f554e;
  font-size: 13px;
  font-weight: 650;
}

.labor-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.labor-main-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 14px;
}

.labor-calendar-panel,
.labor-decision-panel {
  min-width: 0;
}

.labor-calendar {
  display: grid;
  grid-template-columns: repeat(13, minmax(118px, 1fr));
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 4px;
}

.labor-week-card {
  display: grid;
  gap: 7px;
  min-width: 118px;
  padding: 10px;
  border: 1px solid #dfe3dc;
  border-radius: 8px;
  background: #fff;
  color: #111;
  text-align: left;
}

.labor-week-card:hover,
.labor-week-card:focus-visible {
  border-color: var(--accent);
  box-shadow: 0 8px 20px rgba(17, 17, 17, .06);
}

.labor-week-card > span {
  font-size: 11px;
  font-weight: 900;
}

.labor-week-card > p {
  margin: 0;
  color: #565b54;
  font-size: 11px;
  font-weight: 800;
}

.labor-bar-row {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) 36px;
  gap: 5px;
  align-items: center;
}

.labor-bar-row b,
.labor-bar-row small {
  color: #5a6058;
  font-size: 9px;
  font-weight: 900;
  text-transform: uppercase;
}

.labor-bar-row i {
  height: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: #ecefeb;
}

.labor-bar-row em {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #0f172a;
}

.labor-bar-row.required em {
  background: var(--accent);
}

.labor-decision-panel {
  display: grid;
  align-content: start;
  gap: 12px;
}

.labor-decision-card {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid #dfe3dc;
  border-radius: 8px;
  background: #f8fbfc;
}

.labor-decision-card h3 {
  margin: 0;
  color: #111;
  font-size: 18px;
  line-height: 1.08;
}

.labor-decision-card ul {
  display: grid;
  gap: 5px;
  margin: 0;
  padding-left: 16px;
  color: #30362f;
  font-size: 12px;
  font-weight: 650;
}

.labor-alternatives {
  display: grid;
  gap: 7px;
  padding-top: 10px;
  border-top: 1px solid #e1e5df;
}

.labor-alternatives span {
  padding: 8px 0;
  border-bottom: 1px solid #edf0ec;
  color: #333933;
  font-size: 12px;
  font-weight: 700;
}

.labor-product-table th,
.labor-product-table td,
.labor-roster-table th,
.labor-roster-table td {
  min-width: 104px;
}

.labor-product-table th:first-child,
.labor-product-table td:first-child,
.labor-roster-table th:first-child,
.labor-roster-table td:first-child {
  min-width: 210px;
}

@media (max-width: 1400px) {
  .ims-context-bar {
    grid-template-columns: 1fr;
  }

  .labor-main-grid {
    grid-template-columns: 1fr;
  }

  .ims-context-actions {
    justify-content: flex-start;
  }

  .ims-context-grid {
    grid-template-columns: repeat(4, minmax(130px, 1fr));
  }

  .ims-kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .labor-hero {
    grid-template-columns: 1fr;
  }

  .ims-context-grid,
  .ims-kpi-grid,
  .ims-overview-grid,
  .ims-filter-row {
    grid-template-columns: 1fr;
  }

  .ims-filter-row select:nth-of-type(n+7) {
    display: block;
  }
}

/* Demand Plan */
.demand-plan-page {
  display: grid;
  gap: 14px;
}

.demand-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  border-left: 4px solid var(--brand);
}

.demand-hero span,
.demand-decision-panel .owner-panel-head span,
.demand-portfolio-panel .owner-panel-head span {
  color: #555952;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .035em;
  text-transform: uppercase;
}

.demand-hero h2 {
  max-width: 980px;
  margin: 4px 0 5px;
  color: #111;
  font-size: 20px;
  line-height: 1.18;
}

.demand-hero p {
  margin: 0;
  color: #4f554e;
  font-size: 13px;
  font-weight: 650;
}

.demand-kpi-grid .ims-kpi-card {
  min-height: 126px;
}

.demand-main-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 14px;
  align-items: stretch;
}

.demand-portfolio-panel,
.demand-decision-panel {
  min-width: 0;
}

.demand-coverage-list {
  display: grid;
  gap: 8px;
}

.demand-coverage-row {
  display: grid;
  grid-template-columns: minmax(190px, 1fr) minmax(220px, 1.4fr) minmax(110px, auto);
  gap: 12px;
  align-items: center;
  width: 100%;
  padding: 10px 0;
  border: 0;
  border-bottom: 1px solid #e8ece7;
  background: transparent;
  color: #111;
  text-align: left;
  cursor: pointer;
}

.demand-coverage-row:last-child {
  border-bottom: 0;
}

.demand-coverage-row:hover,
.demand-coverage-row:focus-visible {
  outline: none;
  background: #f7fbfc;
}

.demand-coverage-row span,
.demand-product-table td:first-child span {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.demand-coverage-row strong,
.demand-product-table td:first-child strong {
  overflow: hidden;
  color: #111;
  font-size: 13px;
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.demand-coverage-row em,
.demand-product-table td:first-child span {
  overflow: hidden;
  color: #5d635c;
  font-size: 11px;
  font-style: normal;
  font-weight: 650;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.demand-coverage-row small {
  color: #414640;
  font-size: 11px;
  font-weight: 800;
  text-align: right;
  white-space: nowrap;
}

.demand-target-track {
  position: relative;
  height: 9px;
  border-radius: 999px;
  background:
    linear-gradient(90deg, #edf1ef 0%, #edf1ef 37.5%, rgba(11, 163, 184, .24) 37.5%, rgba(11, 163, 184, .24) 56.25%, #edf1ef 56.25%, #edf1ef 100%);
}

.demand-target-track i {
  position: absolute;
  top: -4px;
  width: 1px;
  height: 17px;
  background: #9aa8a2;
}

.demand-target-track .target-min {
  left: 37.5%;
}

.demand-target-track .target-max {
  left: 56.25%;
}

.demand-target-track b {
  position: absolute;
  top: 50%;
  width: 13px;
  height: 13px;
  border: 2px solid #111;
  border-radius: 999px;
  background: #fff;
  transform: translate(-50%, -50%);
  box-shadow: 0 1px 4px rgba(0, 0, 0, .12);
}

.demand-decision-panel {
  display: grid;
  align-content: start;
  gap: 12px;
}

.demand-product-table th,
.demand-product-table td {
  min-width: 112px;
}

.demand-product-table th:first-child,
.demand-product-table td:first-child {
  min-width: 220px;
}

.demand-product-table td:first-child {
  display: grid;
  gap: 3px;
}

.demand-sparkline {
  display: flex;
  align-items: end;
  gap: 3px;
  width: 118px;
  height: 36px;
  padding: 4px 5px;
  border-radius: 6px;
  background: #f4f7f6;
}

.demand-sparkline i {
  flex: 1 1 0;
  min-width: 4px;
  border-radius: 999px 999px 2px 2px;
  background: #111;
}

.demand-sparkline i.forecast {
  background: var(--brand);
}

html[data-theme="dark"] .demand-hero,
html[data-theme="dark"] .demand-coverage-row,
html[data-theme="dark"] .demand-sparkline {
  background: #101927;
  border-color: #263a57;
}

html[data-theme="dark"] .demand-hero h2,
html[data-theme="dark"] .demand-coverage-row strong,
html[data-theme="dark"] .demand-product-table td:first-child strong {
  color: #e5edf7;
}

html[data-theme="dark"] .demand-hero p,
html[data-theme="dark"] .demand-coverage-row em,
html[data-theme="dark"] .demand-coverage-row small {
  color: #9fb0c7;
}

@media (max-width: 1400px) {
  .demand-main-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .demand-hero,
  .demand-coverage-row {
    grid-template-columns: 1fr;
  }

  .demand-coverage-row small {
    text-align: left;
  }
}

/* Owner story layer: simple first, proof on demand. */
.owner-v2-signal-grid > .owner-question-card[data-card-story="inventory-cash"],
.owner-question-card[data-card-story="inventory-cash"] {
  grid-template-columns: 24px minmax(0, 1fr);
  grid-template-areas:
    "icon flag"
    "story-title story-title"
    "story-copy story-copy"
    "story-stack story-stack"
    "story-move story-move";
  gap: 6px 9px;
  min-height: 148px;
}

.owner-page-v2 .owner-v2-signal-grid > .owner-question-card[data-card-story="inventory-cash"] {
  border-left-color: #1e1e1e;
  background: linear-gradient(90deg, rgba(30, 30, 30, .045), #fff 46%);
}

.owner-card-story-title {
  grid-area: story-title;
  color: #111;
  font-size: 14px;
  font-weight: 760;
  line-height: 1.12;
}

.owner-card-story-copy {
  grid-area: story-copy;
  color: #4f554f;
  display: -webkit-box;
  overflow: hidden;
  font-size: 11.5px;
  font-weight: 560;
  line-height: 1.25;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.owner-inventory-mini-stack {
  grid-area: story-stack;
  display: grid;
  gap: 5px;
  min-width: 0;
}

.owner-inventory-mini-stack > span {
  display: flex;
  height: 10px;
  overflow: hidden;
  border: 1px solid #dededb;
  border-radius: 999px;
  background: #f2f2ef;
}

.owner-inventory-mini-stack i {
  display: block;
  width: var(--w);
  min-width: 0;
}

.owner-inventory-mini-stack .sellable {
  background: #15885d;
}

.owner-inventory-mini-stack .raw {
  background: #1e1e1e;
}

.owner-inventory-mini-stack .other {
  background: #b9bab5;
}

.owner-inventory-mini-stack em {
  display: flex;
  gap: 10px;
  justify-content: space-between;
  min-width: 0;
  color: #5f645e;
  font-size: 9.5px;
  font-style: normal;
  font-weight: 650;
  line-height: 1.1;
}

.owner-inventory-mini-stack em b {
  overflow: hidden;
  font-weight: 650;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.owner-card-owner-move {
  grid-area: story-move;
  display: flex;
  gap: 6px;
  align-items: baseline;
  min-width: 0;
  padding-top: 6px;
  border-top: 1px solid #e7e7e3;
  color: #2f332f;
  font-size: 10.5px;
  font-weight: 610;
  line-height: 1.2;
}

.owner-card-owner-move b {
  color: #111;
  font-size: 9.5px;
  font-weight: 760;
  letter-spacing: .03em;
  text-transform: uppercase;
}

.owner-inventory-story {
  display: grid;
  gap: 12px;
}

.owner-story-hero,
.owner-inventory-split,
.owner-story-decisions > div,
.owner-proof-disclosure {
  border: 1px solid #dededb;
  border-radius: 10px;
  background: #fff;
}

.owner-story-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(150px, auto);
  gap: 16px;
  align-items: center;
  padding: 18px 18px;
  border-left: 5px solid #1e1e1e;
  background: linear-gradient(90deg, #f5f5f3, #fff 46%);
}

.owner-story-hero div {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.owner-story-hero span,
.owner-inventory-split-head span,
.owner-story-decisions span,
.owner-proof-disclosure summary {
  color: #5f645e;
  font-size: 10px;
  font-weight: 720;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.owner-story-hero strong {
  color: #111;
  font-size: clamp(22px, 3vw, 34px);
  font-weight: 760;
  line-height: 1.02;
}

.owner-story-hero p,
.owner-story-decisions p {
  margin: 0;
  color: #4d524d;
  font-size: 13px;
  font-weight: 540;
  line-height: 1.36;
}

.owner-story-hero > b {
  display: grid;
  gap: 4px;
  justify-items: end;
  color: #111;
  font-size: clamp(24px, 3.2vw, 38px);
  font-weight: 780;
  line-height: .95;
  text-align: right;
}

.owner-story-hero > b em {
  color: #5f645e;
  font-size: 11px;
  font-style: normal;
  font-weight: 650;
  letter-spacing: .03em;
  text-transform: uppercase;
}

.owner-inventory-journey {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 22px minmax(0, 1fr) 22px minmax(0, 1fr) 22px minmax(0, 1fr);
  gap: 7px;
  align-items: stretch;
}

.owner-inventory-journey span {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 11px 12px;
  border: 1px solid #dededb;
  border-radius: 9px;
  background: #f7f7f5;
}

.owner-inventory-journey b {
  color: #5f645e;
  font-size: 10px;
  font-weight: 720;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.owner-inventory-journey strong {
  overflow: hidden;
  color: #111;
  font-size: 13px;
  font-weight: 720;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.owner-inventory-journey i {
  position: relative;
  align-self: center;
  height: 1px;
  background: #bfc0bb;
}

.owner-inventory-journey i::after {
  position: absolute;
  top: -4px;
  right: -1px;
  width: 8px;
  height: 8px;
  border-top: 1px solid #bfc0bb;
  border-right: 1px solid #bfc0bb;
  content: "";
  transform: rotate(45deg);
}

.owner-inventory-split {
  display: grid;
  gap: 10px;
  padding: 13px;
}

.owner-inventory-split-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

.owner-inventory-split-head strong {
  color: #111;
  font-size: 14px;
  font-weight: 740;
}

.owner-inventory-split-bar {
  display: flex;
  height: 24px;
  overflow: hidden;
  border: 1px solid #d1d1cc;
  border-radius: 999px;
  background: #f0f0ed;
}

.owner-inventory-split-bar i {
  display: block;
  width: var(--w);
}

.owner-inventory-split-bar .sellable {
  background: #15885d;
}

.owner-inventory-split-bar .raw {
  background: #1e1e1e;
}

.owner-inventory-split-bar .other {
  background: #babbb6;
}

.owner-inventory-split-legend {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.owner-inventory-split-legend span {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 9px 10px;
  border: 1px solid #e2e2de;
  border-radius: 8px;
  background: #fafaf8;
}

.owner-inventory-split-legend b,
.owner-inventory-split-legend em {
  overflow: hidden;
  color: #5f645e;
  font-size: 10px;
  font-style: normal;
  font-weight: 650;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.owner-inventory-split-legend strong {
  color: #111;
  font-size: 17px;
  font-weight: 760;
  line-height: 1.05;
}

.owner-story-decisions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.owner-story-decisions > div {
  display: grid;
  gap: 6px;
  padding: 13px 14px;
}

.owner-story-decisions strong {
  color: #111;
  font-size: 16px;
  font-weight: 740;
  line-height: 1.12;
}

.owner-proof-disclosure {
  overflow: hidden;
}

.owner-proof-disclosure summary {
  cursor: pointer;
  padding: 12px 14px;
  color: #1e1e1e;
  list-style-position: inside;
}

.owner-proof-disclosure[open] {
  display: grid;
  gap: 10px;
  padding-bottom: 12px;
}

.owner-proof-disclosure[open] > .owner-signal-formula,
.owner-proof-disclosure[open] > .owner-signal-drill-table {
  margin: 0 12px;
}

.owner-popup-modal h3::before {
  content: "Owner readout";
}

.owner-popup-modal.owner-visual-modal > div:not(.modal-actions) {
  padding-bottom: 18px;
}

.owner-popup-modal .modal-actions {
  position: static;
}

@media (max-width: 900px) {
  .owner-story-hero,
  .owner-story-decisions,
  .owner-inventory-split-legend {
    grid-template-columns: 1fr;
  }

  .owner-story-hero > b {
    justify-items: start;
    text-align: left;
  }

  .owner-inventory-journey {
    grid-template-columns: 1fr;
  }

  .owner-inventory-journey i {
    display: none;
  }
}

/* Inventory cash infographic upgrade. */
.owner-page-v2 .owner-v2-signal-grid > .owner-question-card[data-card-story="inventory-cash"],
.owner-v2-signal-grid > .owner-question-card[data-card-story="inventory-cash"],
.owner-question-card[data-card-story="inventory-cash"] {
  min-height: 162px;
  border-left-color: #111;
  background:
    linear-gradient(135deg, rgba(30, 30, 30, .055), rgba(255, 255, 255, 0) 44%),
    #fff;
}

.owner-question-card[data-card-story="inventory-cash"] .owner-card-story-title {
  font-size: 15px;
  font-weight: 780;
}

.owner-question-card[data-card-story="inventory-cash"] .owner-card-story-copy {
  color: #333834;
  font-size: 12px;
  font-weight: 620;
}

.owner-question-card[data-card-story="inventory-cash"] .owner-inventory-mini-stack > span {
  height: 14px;
  border-color: #cfcfca;
  background: repeating-linear-gradient(90deg, #f5f5f2 0 10px, #ecece8 10px 11px);
}

.owner-question-card[data-card-story="inventory-cash"] .owner-inventory-mini-stack .sellable {
  background: #14916a;
}

.owner-question-card[data-card-story="inventory-cash"] .owner-inventory-mini-stack .raw {
  background: #171717;
}

.owner-question-card[data-card-story="inventory-cash"] .owner-card-owner-move {
  color: #111;
  font-size: 11px;
  font-weight: 680;
}

.owner-inventory-infographic {
  gap: 14px;
}

.owner-inventory-board {
  display: grid;
  grid-template-columns: minmax(250px, .72fr) minmax(420px, 1.28fr);
  gap: 14px;
  align-items: stretch;
}

.owner-inventory-board-copy,
.owner-cash-machine,
.owner-simple-rule > div,
.owner-inventory-proof-card {
  border: 1px solid #dededb;
  border-radius: 12px;
  background: #fff;
}

.owner-inventory-board-copy {
  display: grid;
  align-content: center;
  gap: 8px;
  min-height: 220px;
  padding: 22px;
  border-left: 6px solid #111;
  background:
    linear-gradient(180deg, rgba(20, 145, 106, .08), rgba(255, 255, 255, 0) 62%),
    #fff;
}

.owner-inventory-board-copy span,
.owner-simple-rule span,
.owner-inventory-proof-head span,
.owner-cash-loop strong,
.owner-inventory-proof-table .head span {
  color: #5b605b;
  font-size: 10px;
  font-weight: 760;
  letter-spacing: .045em;
  text-transform: uppercase;
}

.owner-inventory-board-copy strong {
  color: #111;
  font-size: clamp(30px, 4vw, 48px);
  font-weight: 820;
  letter-spacing: 0;
  line-height: .96;
}

.owner-inventory-board-copy p {
  margin: 0;
  color: #333834;
  font-size: 15px;
  font-weight: 560;
  line-height: 1.32;
}

.owner-cash-machine {
  display: grid;
  grid-template-columns: minmax(98px, .55fr) 28px minmax(190px, 1fr) 28px minmax(118px, .68fr);
  gap: 9px;
  align-items: center;
  padding: 16px;
  background:
    linear-gradient(90deg, #f7f7f4, #fff 35%, #f7f7f4);
}

.owner-cash-machine-node,
.owner-inventory-vault {
  display: grid;
  justify-items: center;
  min-width: 0;
  text-align: center;
}

.owner-cash-machine-node {
  gap: 7px;
  padding: 14px 10px;
  border: 1px solid #d9d9d4;
  border-radius: 11px;
  background: #fff;
}

.owner-cash-machine-node i {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 999px;
  background: #111;
  color: #fff;
}

.owner-cash-machine-node.paid i {
  background: #14916a;
}

.owner-cash-machine-node svg,
.owner-simple-rule svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.9;
}

.owner-cash-machine-node b,
.owner-inventory-vault span {
  color: #5b605b;
  font-size: 10px;
  font-weight: 780;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.owner-cash-machine-node strong {
  color: #111;
  font-size: 17px;
  font-weight: 790;
  line-height: 1.1;
}

.owner-cash-machine-arrow {
  position: relative;
  height: 4px;
  border-radius: 999px;
  background: #c7c7c1;
}

.owner-cash-machine-arrow::after {
  position: absolute;
  top: -6px;
  right: -2px;
  width: 0;
  height: 0;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 12px solid #c7c7c1;
  content: "";
}

.owner-inventory-vault {
  gap: 7px;
  padding: 16px 14px;
  border: 2px solid #111;
  border-radius: 14px;
  background:
    linear-gradient(180deg, #fff 0%, #f0f0ec 100%);
  box-shadow: inset 0 -16px 0 rgba(30, 30, 30, .055);
}

.owner-inventory-vault strong {
  color: #111;
  font-size: 38px;
  font-weight: 850;
  line-height: .95;
}

.owner-inventory-vault em {
  color: #111;
  font-size: 12px;
  font-style: normal;
  font-weight: 740;
}

.owner-inventory-vault div {
  display: grid;
  grid-template-columns: repeat(5, 18px);
  gap: 5px;
  justify-content: center;
  margin-top: 2px;
}

.owner-inventory-vault div i {
  display: block;
  width: 18px;
  height: 16px;
  border-radius: 4px;
  background: #171717;
}

.owner-inventory-vault div i.ready {
  background: #14916a;
}

.owner-simple-rule {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 12px;
}

.owner-simple-rule > div {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  grid-template-areas:
    "icon label"
    "icon value";
  gap: 4px 12px;
  align-items: center;
  padding: 14px;
}

.owner-simple-rule i {
  grid-area: icon;
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 12px;
  background: #171717;
  color: #fff;
}

.owner-simple-rule .do i {
  background: #14916a;
}

.owner-simple-rule span {
  grid-area: label;
}

.owner-simple-rule strong {
  grid-area: value;
  color: #111;
  font-size: 17px;
  font-weight: 800;
  line-height: 1.12;
}

.owner-inventory-infographic .owner-inventory-split {
  padding: 16px;
}

.owner-inventory-infographic .owner-inventory-split-head strong {
  font-size: 17px;
}

.owner-inventory-infographic .owner-inventory-split-bar {
  height: 34px;
  border: 0;
  border-radius: 9px;
  background:
    repeating-linear-gradient(90deg, #ededeb 0 18px, #e3e3df 18px 19px);
}

.owner-inventory-infographic .owner-inventory-split-bar .sellable {
  background: #14916a;
}

.owner-inventory-infographic .owner-inventory-split-bar .raw {
  background: #171717;
}

.owner-inventory-callouts {
  display: grid;
  grid-template-columns: minmax(160px, .42fr) minmax(0, 1fr);
  gap: 10px;
}

.owner-inventory-callouts span {
  display: grid;
  gap: 2px;
  padding: 11px 12px;
  border: 1px solid #dededb;
  border-radius: 10px;
  background: #fff;
}

.owner-inventory-callouts b {
  color: #5b605b;
  font-size: 10px;
  font-weight: 760;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.owner-inventory-callouts strong {
  color: #111;
  font-size: 23px;
  font-weight: 840;
  line-height: 1;
}

.owner-inventory-callouts em {
  color: #5f645e;
  font-size: 11px;
  font-style: normal;
  font-weight: 680;
}

.owner-cash-loop {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  overflow: hidden;
  border: 1px solid #dededb;
  border-radius: 12px;
  background: #fff;
}

.owner-cash-loop div {
  position: relative;
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 16px 18px;
  border-left: 1px solid #e4e4df;
}

.owner-cash-loop div:first-child {
  border-left: 0;
}

.owner-cash-loop b {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 999px;
  background: #171717;
  color: #fff;
  font-size: 13px;
  font-weight: 820;
}

.owner-cash-loop span {
  color: #333834;
  font-size: 12px;
  font-weight: 610;
  line-height: 1.22;
}

.owner-cash-loop > i {
  display: none;
}

.owner-inventory-infographic .owner-story-decisions {
  grid-template-columns: 1fr 1fr;
}

.owner-inventory-infographic .owner-story-decisions > div {
  min-height: 126px;
  padding: 16px;
}

.owner-inventory-infographic .owner-story-decisions .care {
  border-left: 5px solid #111;
}

.owner-inventory-infographic .owner-story-decisions .move {
  border-left: 5px solid #14916a;
}

.owner-inventory-proof-card {
  display: grid;
  gap: 10px;
  padding: 14px;
}

.owner-inventory-proof-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

.owner-inventory-proof-head strong {
  color: #111;
  font-size: 15px;
  font-weight: 760;
}

.owner-inventory-proof-table {
  display: grid;
  overflow: hidden;
  border: 1px solid #dededb;
  border-radius: 10px;
}

.owner-inventory-proof-table > div {
  display: grid;
  grid-template-columns: minmax(150px, .75fr) minmax(110px, .45fr) minmax(112px, .45fr) minmax(0, 1.35fr);
  gap: 12px;
  align-items: center;
  min-width: 0;
  padding: 10px 12px;
  border-top: 1px solid #e8e8e4;
  background: #fff;
}

.owner-inventory-proof-table > div:first-child {
  border-top: 0;
}

.owner-inventory-proof-table .head {
  background: #f3f3ef;
}

.owner-inventory-proof-table span {
  display: flex;
  gap: 8px;
  align-items: center;
  min-width: 0;
}

.owner-inventory-proof-table span i {
  flex: 0 0 auto;
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: #b9bab5;
}

.owner-inventory-proof-table .ready span i {
  background: #14916a;
}

.owner-inventory-proof-table .raw span i {
  background: #171717;
}

.owner-inventory-proof-table b {
  overflow: hidden;
  color: #111;
  font-size: 12px;
  font-weight: 760;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.owner-inventory-proof-table strong {
  color: #111;
  font-size: 14px;
  font-weight: 780;
  white-space: nowrap;
}

.owner-inventory-proof-table em,
.owner-inventory-proof-table p {
  margin: 0;
  color: #4f554f;
  font-size: 12px;
  font-style: normal;
  font-weight: 610;
  line-height: 1.25;
}

.owner-inventory-proof-table p {
  white-space: normal;
}

@media (max-width: 1100px) {
  .owner-inventory-board,
  .owner-simple-rule,
  .owner-inventory-infographic .owner-story-decisions {
    grid-template-columns: 1fr;
  }

  .owner-cash-machine {
    grid-template-columns: 1fr;
  }

  .owner-cash-machine-arrow {
    width: 4px;
    height: 24px;
    justify-self: center;
  }

  .owner-cash-machine-arrow::after {
    top: auto;
    right: -6px;
    bottom: -4px;
    border-top: 12px solid #c7c7c1;
    border-right: 8px solid transparent;
    border-left: 8px solid transparent;
    border-bottom: 0;
  }

  .owner-cash-loop,
  .owner-inventory-callouts,
  .owner-inventory-proof-table > div {
    grid-template-columns: 1fr;
  }

  .owner-cash-loop div {
    border-top: 1px solid #e4e4df;
    border-left: 0;
  }

  .owner-cash-loop div:first-child {
    border-top: 0;
  }
}

/* Inventory popup is layered, not scroll-down. */
.owner-popup-modal.owner-inventory-modal {
  width: min(1080px, calc(100vw - 284px));
}

.owner-popup-modal.owner-inventory-modal > div:not(.modal-actions) {
  max-height: none;
  overflow: hidden;
  padding: 14px 24px;
}

.owner-popup-modal.owner-inventory-modal .modal-actions {
  padding: 10px 24px 14px;
}

.owner-popup-modal.owner-inventory-modal h3 {
  padding-top: 16px;
  padding-bottom: 13px;
}

.owner-inventory-layered {
  display: grid;
  gap: 10px;
}

.owner-layer-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, .58fr);
  gap: 12px;
  align-items: stretch;
}

.owner-layer-hero > div,
.owner-layer-scoreboard,
.owner-layer-machine,
.owner-layer-panel {
  border: 1px solid #dededb;
  border-radius: 12px;
  background: #fff;
}

.owner-layer-hero > div:first-child {
  display: grid;
  align-content: center;
  gap: 5px;
  min-height: 104px;
  padding: 15px 18px;
  border-left: 6px solid #111;
  background: linear-gradient(90deg, rgba(30, 30, 30, .06), #fff 48%);
}

.owner-layer-hero span,
.owner-layer-scoreboard b,
.owner-layer-node span,
.owner-layer-shelf span,
.owner-layer-tabs button,
.owner-layer-panel b {
  color: #5b605b;
  font-size: 10px;
  font-weight: 760;
  letter-spacing: .045em;
  text-transform: uppercase;
}

.owner-layer-hero strong {
  color: #111;
  font-size: clamp(26px, 3.4vw, 38px);
  font-weight: 820;
  line-height: .98;
}

.owner-layer-hero p {
  margin: 0;
  color: #333834;
  font-size: 13px;
  font-weight: 580;
  line-height: 1.26;
}

.owner-layer-scoreboard {
  display: grid;
  grid-template-columns: 1fr 1.25fr;
  gap: 0;
  overflow: hidden;
}

.owner-layer-scoreboard span {
  display: grid;
  align-content: center;
  gap: 3px;
  min-width: 0;
  padding: 13px 14px;
  border-left: 1px solid #e8e8e4;
}

.owner-layer-scoreboard span:first-child {
  border-left: 0;
}

.owner-layer-scoreboard strong {
  color: #111;
  font-size: 28px;
  font-weight: 840;
  line-height: 1;
}

.owner-layer-scoreboard em {
  color: #5f645e;
  font-size: 11px;
  font-style: normal;
  font-weight: 650;
}

.owner-layer-machine {
  display: grid;
  grid-template-columns: minmax(104px, .48fr) 30px minmax(280px, 1fr) 30px minmax(132px, .56fr);
  gap: 8px;
  align-items: center;
  min-height: 112px;
  padding: 12px;
  background:
    linear-gradient(90deg, #f7f7f4, #fff 35%, #f7f7f4);
}

.owner-layer-node,
.owner-layer-shelf {
  display: grid;
  justify-items: center;
  min-width: 0;
  text-align: center;
}

.owner-layer-node {
  gap: 5px;
  padding: 10px;
}

.owner-layer-node i {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 999px;
  background: #111;
  color: #fff;
}

.owner-layer-node.paid i {
  background: #14916a;
}

.owner-layer-node svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.9;
}

.owner-layer-node strong {
  color: #111;
  font-size: 14px;
  font-weight: 780;
  line-height: 1.1;
}

.owner-layer-arrow {
  position: relative;
  height: 3px;
  border-radius: 999px;
  background: #bfc0bb;
}

.owner-layer-arrow::after {
  position: absolute;
  top: -5px;
  right: -2px;
  width: 0;
  height: 0;
  border-top: 7px solid transparent;
  border-bottom: 7px solid transparent;
  border-left: 11px solid #bfc0bb;
  content: "";
}

.owner-layer-shelf {
  gap: 6px;
  padding: 10px 14px;
  border: 2px solid #111;
  border-radius: 13px;
  background: #fff;
}

.owner-layer-shelf-block {
  display: flex;
  width: 100%;
  height: 28px;
  overflow: hidden;
  border-radius: 8px;
  background: #ecece8;
}

.owner-layer-shelf-block i {
  display: block;
  width: var(--w);
}

.owner-layer-shelf-block .sellable {
  background: #14916a;
}

.owner-layer-shelf-block .raw {
  background: #171717;
}

.owner-layer-shelf-block .other {
  background: #b9bab5;
}

.owner-layer-shelf strong {
  color: #111;
  font-size: 18px;
  font-weight: 820;
}

.owner-layer-tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
}

.owner-layer-tabs button {
  min-height: 34px;
  border: 1px solid #d6d6d2;
  border-radius: 9px;
  background: #f5f5f2;
  color: #111;
  cursor: pointer;
}

.owner-layer-tabs button.active {
  border-color: #111;
  background: #111;
  color: #fff;
}

.owner-layer-panels {
  min-height: 126px;
}

.owner-layer-panel {
  display: none;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  min-height: 126px;
  padding: 10px;
}

.owner-layer-panel.active {
  display: grid;
}

.owner-layer-panel span {
  display: grid;
  align-content: start;
  gap: 4px;
  min-width: 0;
  padding: 10px 11px;
  border: 1px solid #e3e3df;
  border-radius: 9px;
  background: #fafaf8;
}

.owner-layer-panel span strong {
  color: #111;
  font-size: 16px;
  font-weight: 790;
  line-height: 1.1;
}

.owner-layer-panel span em {
  color: #444944;
  font-size: 11.5px;
  font-style: normal;
  font-weight: 600;
  line-height: 1.24;
}

.owner-layer-move,
.owner-layer-source {
  grid-template-columns: 1fr 1fr auto;
  align-items: stretch;
}

.owner-layer-move .btn,
.owner-layer-source .btn {
  align-self: center;
  white-space: nowrap;
}

.owner-layer-proof span.ready {
  border-left: 4px solid #14916a;
}

.owner-layer-proof span.raw {
  border-left: 4px solid #111;
}

.owner-layer-proof span.other {
  border-left: 4px solid #b9bab5;
}

@media (max-width: 1100px) {
  .owner-popup-modal.owner-inventory-modal {
    width: calc(100vw - 28px);
  }

  .owner-layer-hero,
  .owner-layer-machine,
  .owner-layer-panel,
  .owner-layer-move,
  .owner-layer-source {
    grid-template-columns: 1fr;
  }

  .owner-layer-machine {
    min-height: 0;
  }

  .owner-layer-arrow {
    display: none;
  }
}

/* Executive inventory-cash readout: polished, compact, no-scroll. */
.owner-popup-modal.owner-inventory-modal {
  width: min(1020px, calc(100vw - 284px));
}

.owner-popup-modal.owner-inventory-modal h3 {
  padding: 14px 24px 12px;
  font-size: 18px;
}

.owner-popup-modal.owner-inventory-modal > div:not(.modal-actions) {
  height: 488px;
  max-height: 488px;
  overflow: hidden;
  padding: 16px 24px 12px;
}

.owner-popup-modal.owner-inventory-modal .modal-actions {
  padding: 10px 24px 13px;
}

.owner-inventory-exec {
  display: grid;
  grid-template-rows: auto auto auto minmax(0, 1fr);
  gap: 10px;
  height: 100%;
  min-height: 0;
}

.inventory-exec-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, .75fr);
  gap: 10px;
  min-height: 118px;
}

.inventory-exec-primary,
.inventory-exec-metrics,
.inventory-conversion-map,
.owner-inventory-exec .owner-layer-panel {
  border: 1px solid #dededb;
  border-radius: 10px;
  background: #fff;
}

.inventory-exec-primary {
  display: grid;
  align-content: center;
  gap: 4px;
  padding: 16px 18px;
  border-left: 5px solid #111;
  background: linear-gradient(90deg, rgba(30, 30, 30, .045), #fff 46%);
}

.inventory-exec-primary span,
.inventory-exec-metrics b,
.inventory-conversion-node span,
.inventory-conversion-center span,
.owner-inventory-exec .owner-layer-tabs button,
.owner-inventory-exec .owner-layer-panel b {
  color: #5a5f59;
  font-size: 10px;
  font-weight: 720;
  letter-spacing: .045em;
  text-transform: uppercase;
}

.inventory-exec-primary strong {
  color: #111;
  font-size: 39px;
  font-weight: 780;
  line-height: .95;
}

.inventory-exec-primary p {
  max-width: 620px;
  margin: 0;
  color: #3f443f;
  font-size: 13px;
  font-weight: 560;
  line-height: 1.28;
}

.inventory-exec-metrics {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  overflow: hidden;
}

.inventory-exec-metrics span {
  display: grid;
  align-content: center;
  gap: 3px;
  min-width: 0;
  padding: 14px 15px;
  border-left: 1px solid #e5e5e1;
}

.inventory-exec-metrics span:first-child {
  border-left: 0;
}

.inventory-exec-metrics strong {
  color: #111;
  font-size: 24px;
  font-weight: 780;
  line-height: 1;
}

.inventory-exec-metrics .raw strong {
  font-size: 28px;
}

.inventory-exec-metrics em {
  color: #626761;
  font-size: 11px;
  font-style: normal;
  font-weight: 650;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.inventory-conversion-map {
  display: grid;
  grid-template-columns: minmax(170px, .72fr) minmax(280px, 1.18fr) minmax(190px, .82fr);
  gap: 10px;
  align-items: stretch;
  min-height: 116px;
  padding: 10px;
  background: #f8f8f5;
}

.inventory-conversion-node,
.inventory-conversion-center {
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 5px;
  min-width: 0;
  padding: 10px;
  border: 1px solid #e0e0dc;
  border-radius: 9px;
  background: #fff;
  text-align: center;
}

.inventory-conversion-node i {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: #111;
  color: #fff;
}

.inventory-conversion-node.cash i {
  background: #14916a;
}

.inventory-conversion-node svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.9;
}

.inventory-conversion-node strong,
.inventory-conversion-center strong {
  color: #111;
  font-size: 16px;
  font-weight: 770;
  line-height: 1.08;
}

.inventory-conversion-node em {
  color: #5d625d;
  font-size: 11px;
  font-style: normal;
  font-weight: 610;
  line-height: 1.18;
}

.owner-inventory-exec .owner-layer-shelf-block {
  width: min(340px, 100%);
  height: 26px;
  border: 1px solid #d6d6d2;
  border-radius: 999px;
  background: #ededeb;
}

.owner-inventory-exec .owner-layer-shelf-block .sellable {
  background: #14916a;
}

.owner-inventory-exec .owner-layer-shelf-block .raw {
  background: #161616;
}

.owner-inventory-exec .owner-layer-tabs {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.owner-inventory-exec .owner-layer-tabs button {
  min-height: 31px;
  border-radius: 8px;
  font-size: 10px;
}

.owner-inventory-exec .owner-layer-panels {
  min-height: 0;
  overflow: hidden;
}

.owner-inventory-exec .owner-layer-panel {
  min-height: 0;
  height: 100%;
  padding: 9px;
  overflow: hidden;
}

.owner-inventory-exec .owner-layer-panel.active {
  display: grid;
}

.owner-inventory-exec .owner-layer-panel:not(.owner-layer-move):not(.owner-layer-source) {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.owner-inventory-exec .owner-layer-move {
  grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
}

.owner-inventory-exec .owner-layer-source {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
}

.owner-inventory-exec .owner-layer-panel span {
  gap: 4px;
  padding: 10px 11px;
  border-color: #e4e4df;
}

.owner-inventory-exec .owner-layer-panel span strong {
  font-size: 14px;
  line-height: 1.12;
}

.owner-inventory-exec .owner-layer-panel span em {
  font-size: 11px;
  line-height: 1.24;
}

.owner-inventory-exec .owner-layer-panel .btn {
  align-self: center;
  white-space: nowrap;
}

.owner-question-card[data-card-story="inventory-cash"] .owner-card-story-title {
  font-size: 14px;
}

.owner-question-card[data-card-story="inventory-cash"] .owner-card-story-copy {
  font-weight: 590;
}

@media (max-width: 1100px) {
  .owner-popup-modal.owner-inventory-modal {
    width: calc(100vw - 28px);
  }

  .owner-popup-modal.owner-inventory-modal > div:not(.modal-actions) {
    height: auto;
    max-height: calc(100vh - 142px);
    overflow: auto;
  }

  .inventory-exec-hero,
  .inventory-conversion-map,
  .owner-inventory-exec .owner-layer-panel,
  .owner-inventory-exec .owner-layer-move,
  .owner-inventory-exec .owner-layer-source {
    grid-template-columns: 1fr;
  }
}

/* Denser executive version after feedback: smaller type, more data. */
.owner-popup-modal.owner-inventory-modal > div:not(.modal-actions) {
  height: 492px;
  max-height: 492px;
}

.inventory-exec-hero {
  grid-template-columns: minmax(0, .92fr) minmax(360px, .68fr);
  min-height: 92px;
}

.inventory-exec-primary {
  padding: 10px 15px;
}

.inventory-exec-primary strong {
  font-size: 27px;
  line-height: 1;
}

.inventory-exec-primary p {
  font-size: 12px;
  line-height: 1.24;
}

.inventory-exec-metrics {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.inventory-exec-metrics span {
  padding: 7px 10px;
}

.inventory-exec-metrics strong,
.inventory-exec-metrics .raw strong {
  font-size: 16px;
  line-height: 1;
}

.inventory-exec-metrics em {
  font-size: 10px;
}

.inventory-conversion-map {
  grid-template-columns: minmax(165px, .72fr) minmax(300px, 1.2fr) minmax(190px, .82fr);
  min-height: 82px;
  padding: 6px;
}

.inventory-conversion-node,
.inventory-conversion-center {
  padding: 6px 9px;
}

.inventory-conversion-node i {
  width: 26px;
  height: 26px;
}

.inventory-conversion-node svg {
  width: 14px;
  height: 14px;
}

.inventory-conversion-node strong,
.inventory-conversion-center strong {
  font-size: 14px;
}

.inventory-conversion-node em {
  font-size: 10.5px;
}

.owner-inventory-exec .owner-layer-shelf-block {
  height: 18px;
}

.owner-inventory-exec .owner-layer-tabs button {
  min-height: 27px;
}

.owner-inventory-exec .owner-layer-panel {
  gap: 6px;
  padding: 6px;
}

.owner-inventory-exec .owner-layer-panel[data-owner-layer-panel="meaning"] {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.owner-inventory-exec .owner-layer-panel[data-owner-layer-panel="proof"] {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.owner-inventory-exec .owner-layer-move {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.owner-inventory-exec .owner-layer-move .btn {
  display: none;
}

.owner-inventory-exec .owner-layer-source {
  grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
}

.owner-inventory-exec .owner-layer-panel span {
  padding: 6px 8px;
}

.owner-inventory-exec .owner-layer-panel span strong {
  font-size: 12px;
}

.owner-inventory-exec .owner-layer-panel span em {
  font-size: 9.8px;
  line-height: 1.14;
}

.owner-inventory-exec .owner-layer-panel b {
  font-size: 8.5px;
}

/* Mockup-aligned inventory report popup. */
.owner-popup-modal.owner-inventory-modal {
  width: min(1180px, calc(100vw - 284px));
  border: 1px solid #d9e2ef;
  border-radius: 12px;
  background: #fff;
}

.owner-popup-modal.owner-inventory-modal::before {
  height: 0;
}

.owner-popup-modal.owner-inventory-modal h3 {
  display: none;
}

.owner-popup-modal.owner-inventory-modal > div:not(.modal-actions) {
  height: min(600px, calc(100vh - 104px));
  max-height: min(600px, calc(100vh - 104px));
  overflow: hidden;
  padding: 18px 20px 10px;
}

.owner-popup-modal.owner-inventory-modal .modal-actions {
  padding: 8px 20px 14px;
  border-top-color: #e5ecf5;
}

.owner-inventory-report {
  --report-navy: #0b2342;
  --report-blue: #1667d9;
  --report-orange: #d9480f;
  --report-green: #149647;
  --report-ink: #0b1f3d;
  --report-muted: #52627a;
  display: grid;
  grid-template-rows: 122px minmax(0, 1fr) 34px;
  gap: 10px;
  height: 100%;
  min-height: 0;
  color: var(--report-ink);
}

.inventory-report-top {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr);
  gap: 18px;
  align-items: stretch;
}

.inventory-report-title {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  gap: 18px;
  min-width: 0;
}

.inventory-report-title > i {
  display: grid;
  place-items: center;
  width: 82px;
  height: 82px;
  border-radius: 18px;
  background: var(--report-navy);
  color: #fff;
  box-shadow: 0 12px 24px rgba(11, 35, 66, .18);
}

.inventory-report-title svg {
  width: 42px;
  height: 42px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.inventory-report-title div {
  display: grid;
  align-content: start;
  gap: 8px;
  min-width: 0;
}

.inventory-report-title strong {
  color: var(--report-ink);
  font-size: 26px;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.05;
}

.inventory-report-title p {
  max-width: 580px;
  margin: 0;
  color: var(--report-muted);
  font-size: 13px;
  font-weight: 560;
  line-height: 1.35;
}

.inventory-report-title span {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  max-width: 560px;
  color: var(--report-muted);
}

.inventory-report-title span::before {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 1px solid #dfe7f1;
  border-radius: 8px;
  background: #fff;
  color: var(--report-navy);
  content: "fx";
  font-size: 12px;
  font-weight: 850;
}

.inventory-report-title b {
  color: var(--report-ink);
  font-size: 11px;
  font-weight: 760;
}

.inventory-report-title em {
  display: block;
  color: var(--report-muted);
  font-size: 11.5px;
  font-style: normal;
  font-weight: 560;
  line-height: 1.24;
}

.inventory-report-value-card {
  position: relative;
  display: grid;
  align-content: center;
  gap: 6px;
  min-width: 0;
  padding: 18px 120px 18px 24px;
  border: 1px solid #dfe7f1;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 14px 32px rgba(11, 35, 66, .10);
}

.inventory-report-value-card span,
.inventory-panel-head span,
.inventory-metric-tile span,
.inventory-proof-table .head span,
.inventory-report-right span,
.inventory-raw-drill span {
  color: var(--report-ink);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .045em;
  text-transform: uppercase;
}

.inventory-report-value-card strong {
  color: var(--report-orange);
  font-size: 50px;
  font-weight: 850;
  letter-spacing: .01em;
  line-height: .95;
}

.inventory-report-value-card i {
  position: absolute;
  top: 25px;
  right: 28px;
  display: grid;
  place-items: center;
  width: 76px;
  height: 76px;
  border-radius: 999px;
  background: rgba(217, 72, 15, .12);
  color: var(--report-orange);
}

.inventory-report-value-card svg,
.inventory-report-right svg,
.inventory-metric-tile svg {
  width: 30px;
  height: 30px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.inventory-report-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.38fr) minmax(330px, .78fr);
  gap: 14px;
  min-height: 0;
}

.inventory-report-left,
.inventory-report-right {
  display: grid;
  gap: 10px;
  min-height: 0;
}

.inventory-report-left {
  grid-template-rows: 158px 82px minmax(0, 1fr);
}

.inventory-report-right {
  grid-template-rows: minmax(136px, .72fr) minmax(0, 1.28fr);
}

.inventory-composition-panel,
.inventory-meaning-card,
.inventory-actions-card,
.inventory-proof-table,
.inventory-raw-drill,
.inventory-metric-tile {
  border: 1px solid #dfe7f1;
  border-radius: 10px;
  background: #fff;
}

.inventory-composition-panel {
  display: grid;
  gap: 9px;
  padding: 13px 14px;
  min-width: 0;
}

.inventory-panel-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
}

.inventory-panel-head em {
  color: var(--report-muted);
  font-size: 10.5px;
  font-style: normal;
  font-weight: 650;
}

.inventory-composition-scale {
  display: grid;
  grid-template-columns: minmax(48px, .35fr) minmax(0, 1fr) minmax(42px, .25fr);
  color: var(--report-muted);
  font-size: 11px;
  font-weight: 780;
}

.inventory-composition-scale .ready {
  color: var(--report-green);
}

.inventory-composition-scale .raw {
  color: var(--report-blue);
  text-align: center;
}

.inventory-composition-scale .other {
  text-align: right;
}

.inventory-composition-bar {
  display: flex;
  height: 32px;
  overflow: hidden;
  border-radius: 7px;
  background: #eef3f9;
}

.inventory-composition-bar i {
  display: block;
  width: var(--w);
}

.inventory-composition-bar .ready {
  background: var(--report-green);
}

.inventory-composition-bar .raw {
  background: linear-gradient(90deg, var(--report-blue), #0f5dcc);
}

.inventory-composition-bar .other {
  background: #d9dee7;
}

.inventory-composition-legend {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.inventory-composition-legend span {
  display: grid;
  grid-template-columns: 10px minmax(0, 1fr);
  gap: 4px 8px;
  min-width: 0;
}

.inventory-composition-legend .dot {
  grid-row: span 2;
  width: 10px;
  height: 10px;
  margin-top: 2px;
  border-radius: 999px;
}

.inventory-composition-legend .dot.ready {
  background: var(--report-green);
}

.inventory-composition-legend .dot.raw {
  background: var(--report-blue);
}

.inventory-composition-legend .dot.other {
  background: #7a7f87;
}

.inventory-composition-legend strong {
  overflow: hidden;
  color: var(--report-ink);
  font-size: 11px;
  font-weight: 760;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.inventory-composition-legend em {
  color: var(--report-muted);
  font-size: 10px;
  font-style: normal;
  font-weight: 620;
}

.inventory-drill-button {
  justify-self: center;
  margin-top: -2px;
  border: 1px dashed #8db7f3;
  border-radius: 6px;
  background: #fff;
  color: var(--report-blue);
  cursor: default;
  font-size: 11px;
  font-weight: 780;
  padding: 7px 12px;
}

.inventory-metric-tile-row {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
}

.inventory-metric-tile {
  appearance: none;
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 3px;
  min-width: 0;
  padding: 8px 6px;
  color: inherit;
  cursor: pointer;
  font: inherit;
  text-align: center;
  transition: border-color .14s ease, box-shadow .14s ease, transform .14s ease, background .14s ease;
}

.inventory-metric-tile i {
  display: grid;
  place-items: center;
  color: var(--report-blue);
}

.inventory-metric-tile.ready i {
  color: var(--report-green);
}

.inventory-metric-tile:hover {
  border-color: #b8cbe4;
  background: #fbfdff;
  box-shadow: 0 8px 18px rgba(11, 35, 66, .08);
  transform: translateY(-1px);
}

.inventory-metric-tile:focus-visible {
  outline: 2px solid rgba(22, 103, 217, .36);
  outline-offset: 2px;
}

.inventory-metric-tile.selected,
.inventory-metric-tile.raw.selected {
  border-color: #8db7f3;
  background: #f7fbff;
  box-shadow: inset 0 0 0 1px #8db7f3;
}

.inventory-metric-tile strong {
  color: var(--report-ink);
  font-size: 17px;
  font-weight: 820;
  line-height: 1;
}

.inventory-metric-tile em {
  color: var(--report-muted);
  font-size: 10px;
  font-style: normal;
  font-weight: 700;
  text-transform: uppercase;
}

.inventory-proof-and-drill {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, .48fr);
  gap: 12px;
  min-height: 0;
}

.inventory-proof-table {
  display: grid;
  overflow: hidden;
}

.inventory-proof-table > div {
  display: grid;
  grid-template-columns: minmax(145px, .72fr) minmax(70px, .35fr) minmax(0, 1.18fr);
  gap: 8px;
  align-items: center;
  min-width: 0;
  padding: 6px 10px;
  border-top: 1px solid #e7edf5;
}

.inventory-proof-table > div:first-child {
  border-top: 0;
}

.inventory-proof-table .head {
  background: var(--report-navy);
}

.inventory-proof-table .head span {
  color: #fff;
}

.inventory-proof-table span,
.inventory-proof-table strong,
.inventory-proof-table em {
  overflow: hidden;
  min-width: 0;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.inventory-proof-table span {
  color: var(--report-ink);
  font-size: 11px;
  font-weight: 650;
}

.inventory-proof-table strong {
  color: var(--report-ink);
  font-size: 11px;
  font-weight: 800;
}

.inventory-proof-table em {
  color: var(--report-muted);
  font-size: 10.5px;
  font-style: normal;
  font-weight: 560;
}

.inventory-raw-drill {
  display: grid;
  align-content: start;
  gap: 8px;
  min-height: 0;
  padding: 12px;
  border-color: #9ec1f5;
  box-shadow: 0 14px 32px rgba(22, 103, 217, .14);
}

.inventory-raw-drill > div {
  display: flex;
  justify-content: space-between;
  gap: 8px;
}

.inventory-raw-drill button {
  border: 0;
  background: transparent;
  color: var(--report-navy);
  font-size: 16px;
  line-height: 1;
}

.inventory-raw-drill > strong {
  color: var(--report-ink);
  font-size: 18px;
  font-weight: 820;
}

.inventory-raw-drill p,
.inventory-raw-drill em {
  margin: 0;
  color: var(--report-muted);
  font-size: 10.5px;
  font-style: normal;
  font-weight: 560;
  line-height: 1.25;
}

.inventory-raw-drill section {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 18px minmax(0, 1fr);
  gap: 6px;
  align-items: center;
}

.inventory-raw-drill section b {
  padding: 8px;
  border: 1px solid #d9e6fb;
  border-radius: 8px;
  background: #f4f8ff;
  color: var(--report-ink);
  font-size: 10px;
  font-weight: 760;
  text-align: center;
}

.inventory-raw-drill section i {
  color: var(--report-blue);
  font-style: normal;
  font-weight: 900;
  text-align: center;
}

.inventory-meaning-card,
.inventory-actions-card {
  display: grid;
  gap: 8px;
  padding: 16px;
}

.inventory-meaning-card {
  grid-template-columns: 54px minmax(0, 1fr);
  align-items: start;
}

.inventory-meaning-card > i,
.inventory-actions-card > div > i {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 999px;
  background: #eaf2ff;
  color: var(--report-blue);
}

.inventory-actions-card > div > i {
  background: #eaf8ee;
  color: var(--report-green);
}

.inventory-report-right strong {
  color: var(--report-ink);
  font-size: 14px;
  font-weight: 800;
  line-height: 1.2;
}

.inventory-report-right p {
  margin: 0;
  color: var(--report-muted);
  font-size: 12px;
  font-weight: 560;
  line-height: 1.35;
}

.inventory-actions-card > div {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
}

.inventory-actions-card p {
  position: relative;
  padding-left: 24px;
}

.inventory-actions-card p::before {
  position: absolute;
  left: 0;
  top: 1px;
  display: grid;
  place-items: center;
  width: 14px;
  height: 14px;
  border: 1px solid #9ed5ad;
  border-radius: 999px;
  color: var(--report-green);
  content: "ok";
  font-size: 9px;
  font-weight: 900;
}

.inventory-actions-card p b,
.inventory-actions-card p em {
  display: block;
}

.inventory-actions-card p b {
  color: var(--report-ink);
  font-size: 11.5px;
  font-weight: 780;
}

.inventory-actions-card p em {
  color: var(--report-muted);
  font-size: 10.5px;
  font-style: normal;
  font-weight: 560;
  line-height: 1.28;
}

.inventory-report-footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding-top: 8px;
  border-top: 1px solid #e7edf5;
}

.inventory-report-footer span {
  overflow: hidden;
  color: var(--report-muted);
  font-size: 10.5px;
  font-weight: 560;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* Fit pass for the report popup at the review viewport. */
.owner-inventory-report {
  grid-template-rows: 116px minmax(0, 1fr) 30px;
  gap: 8px;
}

.inventory-report-value-card {
  min-height: 0;
  overflow: hidden;
  padding: 13px 92px 13px 18px;
}

.inventory-report-value-card strong {
  font-size: 38px;
}

.inventory-report-value-card i {
  top: 25px;
  right: 22px;
  width: 56px;
  height: 56px;
}

.inventory-report-value-card svg,
.inventory-report-right svg,
.inventory-metric-tile svg {
  width: 24px;
  height: 24px;
}

.inventory-report-left {
  grid-template-rows: 138px 68px minmax(0, 1fr);
}

.inventory-report-right {
  grid-template-rows: 124px minmax(0, 1fr);
}

.inventory-composition-panel {
  gap: 6px;
  padding: 10px 12px;
}

.inventory-composition-bar {
  height: 26px;
}

.inventory-drill-button {
  padding: 5px 10px;
}

.inventory-metric-tile {
  gap: 2px;
  padding: 6px 5px;
}

.inventory-metric-tile strong {
  font-size: 15px;
}

.inventory-metric-tile em {
  font-size: 9px;
}

.inventory-proof-table > div {
  padding: 4px 8px;
}

.inventory-proof-table span,
.inventory-proof-table strong {
  font-size: 10px;
}

.inventory-proof-table em {
  font-size: 9.4px;
}

.inventory-raw-drill {
  gap: 5px;
  padding: 8px;
}

.inventory-raw-drill > strong {
  font-size: 15px;
}

.inventory-raw-drill p,
.inventory-raw-drill em {
  font-size: 9.2px;
}

.inventory-raw-drill section b {
  padding: 6px;
  font-size: 9px;
}

.inventory-meaning-card,
.inventory-actions-card {
  gap: 6px;
  padding: 12px;
}

.inventory-meaning-card {
  grid-template-columns: 46px minmax(0, 1fr);
}

.inventory-meaning-card > i,
.inventory-actions-card > div > i {
  width: 38px;
  height: 38px;
}

.inventory-report-right p {
  font-size: 10.5px;
}

.inventory-actions-card > div {
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 8px;
}

.inventory-actions-card p b {
  font-size: 10.5px;
}

.inventory-actions-card p em {
  font-size: 9.5px;
}

/* Final report fit: keep the top value card from covering the explanation rail. */
.owner-popup-modal.owner-inventory-modal > div:not(.modal-actions) {
  height: min(604px, calc(100vh - 96px));
  max-height: min(604px, calc(100vh - 96px));
}

.owner-inventory-report {
  grid-template-rows: 112px minmax(0, 1fr) 30px;
  gap: 8px;
}

.inventory-report-top {
  min-height: 0;
  overflow: hidden;
}

.inventory-report-title {
  grid-template-columns: 70px minmax(0, 1fr);
  gap: 14px;
  min-height: 0;
  overflow: hidden;
  padding-right: 12px;
}

.inventory-report-title > i {
  width: 70px;
  height: 70px;
  border-radius: 16px;
}

.inventory-report-title svg {
  width: 34px;
  height: 34px;
}

.inventory-report-title strong {
  font-size: 23px;
}

.inventory-report-title p {
  font-size: 12px;
  line-height: 1.25;
}

.inventory-report-title span {
  grid-template-columns: 32px minmax(0, 1fr);
  gap: 7px;
  padding: 5px 6px;
}

.inventory-report-title span::before {
  width: 30px;
  height: 30px;
}

.inventory-report-title em {
  font-size: 10.5px;
  line-height: 1.18;
}

.inventory-report-value-card {
  box-sizing: border-box;
  height: 100%;
  max-height: 112px;
  min-height: 0;
  gap: 4px;
  align-content: center;
  padding: 12px 86px 12px 16px;
}

.inventory-report-value-card span {
  font-size: 9px;
}

.inventory-report-value-card strong {
  font-size: 34px;
  line-height: .92;
}

.inventory-report-value-card i {
  top: 22px;
  right: 20px;
  width: 50px;
  height: 50px;
}

.inventory-report-value-card svg {
  width: 22px;
  height: 22px;
}

.inventory-report-grid {
  gap: 12px;
}

.inventory-report-left {
  grid-template-rows: 136px 66px minmax(0, 1fr);
  gap: 8px;
}

.inventory-report-right {
  grid-template-rows: 118px minmax(0, 1fr);
  gap: 8px;
}

.inventory-proof-and-drill {
  gap: 10px;
}

/* Mockup footer/actions and readable top formula row. */
.owner-popup-modal.owner-inventory-modal {
  max-height: calc(100vh - 36px);
}

.owner-popup-modal.owner-inventory-modal > div:not(.modal-actions) {
  height: min(630px, calc(100vh - 74px));
  max-height: min(630px, calc(100vh - 74px));
}

.owner-popup-modal.owner-inventory-modal .modal-actions {
  display: none;
}

.owner-inventory-report {
  grid-template-rows: 108px minmax(0, 1fr) 40px;
}

.inventory-report-title {
  grid-template-columns: 68px minmax(0, 1fr);
}

.inventory-report-title > i {
  width: 68px;
  height: 68px;
}

.inventory-report-title p {
  max-width: 600px;
}

.inventory-report-title span::before {
  grid-row: 1 / span 2;
}

.inventory-report-title b,
.inventory-report-title em {
  grid-column: 2;
}

.inventory-report-title em {
  max-width: 510px;
}

.inventory-report-value-card {
  max-height: 108px;
}

.inventory-report-left {
  grid-template-rows: 148px 78px minmax(0, 1fr);
}

.inventory-report-right {
  grid-template-rows: 128px minmax(0, 1fr);
}

.inventory-composition-panel {
  padding: 11px 12px;
}

.inventory-metric-tile {
  padding: 5px 5px;
}

.inventory-metric-tile svg {
  width: 20px;
  height: 20px;
}

.inventory-metric-tile span {
  font-size: 8.4px;
  line-height: 1.08;
}

.inventory-metric-tile strong {
  font-size: 14px;
}

.inventory-metric-tile em {
  font-size: 8.2px;
}

.inventory-meaning-card {
  grid-template-columns: 42px minmax(0, 1fr);
}

.inventory-meaning-card > i,
.inventory-actions-card > div > i {
  width: 34px;
  height: 34px;
}

.inventory-report-right span,
.inventory-report-right strong {
  display: block;
}

.inventory-report-right strong {
  margin-top: 3px;
}

.inventory-report-footer {
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 10px;
  min-height: 0;
  padding-top: 7px;
}

.inventory-report-footer .btn {
  min-width: 108px;
  height: 32px;
  padding: 7px 14px;
  border-radius: 8px;
}

.inventory-report-footer .inventory-report-close {
  border-color: var(--report-navy);
  background: var(--report-navy);
  color: #fff;
}

.inventory-raw-drill.is-highlighted {
  animation: inventoryDrillPulse 1.2s ease;
}

@keyframes inventoryDrillPulse {
  0% {
    box-shadow: 0 0 0 0 rgba(22, 103, 217, .38), 0 18px 36px rgba(22, 103, 217, .14);
  }
  72% {
    box-shadow: 0 0 0 7px rgba(22, 103, 217, .08), 0 18px 36px rgba(22, 103, 217, .16);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(22, 103, 217, 0), 0 14px 28px rgba(22, 103, 217, .10);
  }
}

/* Executive cash liquidity decision center */
.owner-popup-modal.cash-liquidity-modal {
  width: min(1240px, calc(100vw - 280px), calc(100% - 16px));
  max-width: calc(100% - 16px);
  max-height: calc(100vh - 16px);
  border: 1px solid #c8d4e2;
  border-radius: 8px;
  background: #f5f7fb;
  box-shadow: 0 28px 80px rgba(6, 18, 36, .42);
}

.owner-popup-modal.cash-liquidity-modal::before,
.owner-popup-modal.cash-liquidity-modal h3,
.owner-popup-modal.cash-liquidity-modal .modal-actions {
  display: none;
}

.owner-popup-modal.cash-liquidity-modal > div:not(.modal-actions) {
  max-height: calc(100vh - 16px);
  overflow: auto;
  padding: 0;
}

.owner-popup-modal.cash-liquidity-modal .owner-visual-popup {
  display: block;
  gap: 0;
}

.cash-liquidity-shell {
  --cash-navy: #071a33;
  --cash-navy-2: #0d2547;
  --cash-ink: #14233a;
  --cash-muted: #627089;
  --cash-border: #d8e1ec;
  --cash-bg: #f5f7fb;
  --cash-blue: #2563eb;
  --cash-green: #12805c;
  --cash-amber: #0ea5e9;
  --cash-red: #c2410c;
  position: relative;
  min-width: 0;
  color: var(--cash-ink);
  font-family: var(--app-font);
  letter-spacing: 0;
}

.cash-liquidity-shell button,
.cash-liquidity-shell select,
.cash-liquidity-shell a {
  font: inherit;
}

.cash-liquidity-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 14px 22px;
  background: linear-gradient(90deg, #061326, var(--cash-navy));
  color: #fff;
}

.cash-liquidity-header span {
  display: block;
  color: #fff;
  font-size: 19px;
  font-weight: 900;
  line-height: 1.05;
}

.cash-liquidity-header p {
  margin: 6px 0 0;
  color: #c9d5e6;
  font-size: 11.5px;
  font-weight: 750;
  line-height: 1.35;
}

.cash-liquidity-header-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  max-width: 560px;
}

.cash-liquidity-header-actions label,
.cash-liquidity-header-actions button,
.cash-liquidity-header-actions a {
  min-height: 32px;
  border: 1px solid rgba(255, 255, 255, .38);
  border-radius: 6px;
  background: rgba(255, 255, 255, .08);
  color: #fff;
  padding: 7px 10px;
  font-size: 12px;
  font-weight: 850;
  text-decoration: none;
  white-space: nowrap;
}

.cash-liquidity-header-actions select {
  margin-left: 4px;
  border: 0;
  background: transparent;
  color: #fff;
  font-weight: 900;
}

.cash-liquidity-diagnosis {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding: 12px 22px 8px;
  background: #fff;
}

.cash-liquidity-diagnosis > i {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--cash-green);
  color: #fff;
  font-size: 13px;
  font-style: normal;
  font-weight: 950;
}

.cash-liquidity-diagnosis > i.risk {
  background: #ef4b22;
}

.cash-liquidity-diagnosis strong {
  display: block;
  margin-bottom: 7px;
  color: var(--cash-ink);
  font-size: 14px;
  font-weight: 850;
  line-height: 1.35;
}

.cash-liquidity-diagnosis span {
  display: inline-flex;
  align-items: center;
  margin: 0 6px 4px 0;
  border: 1px solid #f0d3bd;
  border-radius: 999px;
  background: #f0fbfd;
  color: #7c2d12;
  padding: 3px 9px;
  font-size: 10.5px;
  font-weight: 800;
}

.cash-liquidity-diagnosis b {
  margin-right: 4px;
}

.cash-liquidity-kpis {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 8px;
  padding: 0 22px 10px;
  background: #fff;
}

.cash-liquidity-kpi {
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  gap: 3px;
  min-width: 0;
  min-height: 92px;
  border: 1px solid var(--cash-border);
  border-radius: 8px;
  background: #fff;
  padding: 10px 11px;
  text-align: left;
  cursor: pointer;
  box-shadow: 0 8px 20px rgba(15, 23, 42, .04);
}

.cash-liquidity-kpi:hover,
.cash-liquidity-kpi:focus-visible,
.cash-liquidity-kpi.selected {
  outline: 2px solid rgba(37, 99, 235, .36);
  outline-offset: 1px;
}

.cash-liquidity-kpi span {
  color: #48566d;
  font-size: 9.5px;
  font-weight: 950;
  letter-spacing: .03em;
  text-transform: uppercase;
}

.cash-liquidity-kpi strong {
  overflow: hidden;
  color: var(--cash-ink);
  font-size: 17px;
  font-weight: 900;
  line-height: 1.08;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cash-liquidity-kpi em {
  color: var(--cash-muted);
  font-size: 10.5px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.25;
}

.cash-liquidity-kpi b {
  align-self: end;
  color: #0f3f8f;
  font-size: 10.5px;
  font-weight: 850;
  text-decoration: underline;
}

.cash-liquidity-kpi.pos {
  border-color: #a9dfbf;
  background: #f7fffa;
}

.cash-liquidity-kpi.pos strong {
  color: var(--cash-green);
}

.cash-liquidity-kpi.warn strong {
  color: var(--cash-amber);
}

.cash-liquidity-kpi.neg strong {
  color: var(--cash-red);
}

.cash-liquidity-main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 386px;
  gap: 14px;
  padding: 10px 22px 0;
}

.cash-liquidity-left {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.cash-liquidity-right {
  display: grid;
  gap: 9px;
  align-content: start;
  min-width: 0;
}

.cash-liquidity-graph-card,
.cash-liquidity-table-card,
.cash-liquidity-meaning,
.cash-liquidity-action-need,
.cash-liquidity-actions,
.cash-liquidity-scenario,
.cash-liquidity-drill-row {
  border: 1px solid var(--cash-border);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .045);
}

.cash-liquidity-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px 0;
}

.cash-liquidity-section-head span,
.cash-liquidity-meaning h4,
.cash-liquidity-actions h4 {
  color: var(--cash-ink);
  font-size: 13px;
  font-weight: 950;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.cash-liquidity-section-head strong {
  display: block;
  margin-top: 2px;
  color: var(--cash-muted);
  font-size: 11px;
  font-weight: 750;
}

.cash-liquidity-mini-button,
.cash-liquidity-view-tabs button,
.cash-liquidity-action-row button,
.cash-liquidity-explore,
.cash-liquidity-scenario button,
.cash-liquidity-footer button {
  border: 1px solid #b8c7db;
  border-radius: 6px;
  background: #fff;
  color: var(--cash-navy);
  padding: 7px 10px;
  font-size: 11px;
  font-weight: 850;
  cursor: pointer;
}

.cash-liquidity-graph {
  display: block;
  width: 100%;
  min-height: 190px;
  padding: 0 8px 2px;
}

.cash-liquidity-graph .zone.healthy {
  fill: url(#cashHealthyZone);
}

.cash-liquidity-graph .zone.caution {
  fill: url(#cashCautionZone);
}

.cash-liquidity-graph .zone.shortage {
  fill: url(#cashShortZone);
}

.cash-liquidity-gridline line {
  stroke: #d8e0ea;
  stroke-dasharray: 4 5;
  stroke-width: .75;
}

.cash-liquidity-gridline text,
.cash-liquidity-zero-label,
.cash-liquidity-reserve-label,
.cash-liquidity-current-label {
  fill: #4f5b6f;
  font-size: 11px;
  font-weight: 850;
}

.cash-liquidity-zero-line {
  stroke: #df3f31;
  stroke-dasharray: 5 4;
  stroke-width: 1.1;
}

.cash-liquidity-reserve-line {
  stroke: #15945f;
  stroke-dasharray: 5 4;
  stroke-width: 1.1;
}

.cash-liquidity-current-line {
  stroke: #0b1220;
  stroke-dasharray: 2 5;
  stroke-width: 1.35;
}

.cash-liquidity-line {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.9;
}

.cash-liquidity-line.actual {
  stroke: #111827;
}

.cash-liquidity-line.forecast {
  stroke: var(--cash-blue);
  stroke-dasharray: 7 5;
}

.cash-liquidity-line.available {
  stroke: var(--cash-green);
  stroke-dasharray: 4 5;
}

.cash-liquidity-confidence {
  fill: rgba(37, 99, 235, .11);
  stroke: none;
}

.cash-liquidity-point {
  cursor: pointer;
}

.cash-liquidity-point circle {
  fill: #fff;
  stroke: #111827;
  stroke-width: 1.8;
}

.cash-liquidity-point.healthy circle,
.cash-liquidity-point.current circle {
  stroke: var(--cash-green);
}

.cash-liquidity-point.caution circle {
  stroke: var(--cash-amber);
}

.cash-liquidity-point.shortage circle {
  stroke: var(--cash-red);
}

.cash-liquidity-point.selected circle {
  fill: #dbeafe;
  stroke: var(--cash-blue);
  stroke-width: 3;
}

.cash-liquidity-point text {
  fill: #44516a;
  font-weight: 850;
}

.cash-liquidity-point .x-main {
  font-size: 11px;
}

.cash-liquidity-point .x-sub {
  fill: #737d90;
  font-size: 9.5px;
  text-transform: uppercase;
}

.cash-liquidity-event {
  cursor: pointer;
}

.cash-liquidity-event line {
  stroke: rgba(15, 23, 42, .28);
  stroke-width: .85;
}

.cash-liquidity-event rect {
  fill: #e0f7ff;
  stroke: #7dd3fc;
  filter: drop-shadow(0 5px 9px rgba(15, 23, 42, .08));
}

.cash-liquidity-event.collection rect,
.cash-liquidity-event.funding rect {
  fill: #eefaf3;
  stroke: #b7ebcc;
}

.cash-liquidity-event.ops rect {
  fill: #f8fafc;
  stroke: #cbd5e1;
}

.cash-liquidity-event .event-pin {
  fill: #fff;
  stroke: #0ea5e9;
  stroke-width: 1.8;
}

.cash-liquidity-event.collection .event-pin,
.cash-liquidity-event.funding .event-pin {
  stroke: var(--cash-green);
}

.cash-liquidity-event.ops .event-pin {
  stroke: #64748b;
}

.cash-liquidity-event text {
  fill: var(--cash-ink);
  font-size: 9.5px;
  font-weight: 850;
}

.cash-liquidity-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 0 14px 10px;
  color: #334155;
  font-size: 11px;
  font-weight: 750;
}

.cash-liquidity-legend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.cash-liquidity-legend i {
  width: 18px;
  height: 3px;
  border-radius: 999px;
  background: #111827;
}

.cash-liquidity-legend i.forecast {
  background: repeating-linear-gradient(90deg, var(--cash-blue) 0 5px, transparent 5px 9px);
}

.cash-liquidity-legend i.available {
  background: repeating-linear-gradient(90deg, var(--cash-green) 0 4px, transparent 4px 8px);
}

.cash-liquidity-legend i.confidence {
  height: 10px;
  background: rgba(37, 99, 235, .16);
}

.cash-liquidity-legend i.event {
  width: 9px;
  height: 9px;
  background: #0ea5e9;
}

.cash-liquidity-table-card {
  overflow: hidden;
}

.cash-liquidity-view-tabs {
  display: inline-flex;
  gap: 0;
  overflow: hidden;
  border: 1px solid #d3deec;
  border-radius: 7px;
}

.cash-liquidity-view-tabs button {
  border: 0;
  border-radius: 0;
  border-left: 1px solid #d3deec;
  padding: 7px 11px;
}

.cash-liquidity-view-tabs button:first-child {
  border-left: 0;
}

.cash-liquidity-view-tabs button.active {
  background: var(--cash-navy);
  color: #fff;
}

.cash-liquidity-table {
  display: grid;
  gap: 0;
  padding: 8px 12px 12px;
}

.cash-liquidity-table[hidden] {
  display: none;
}

.cash-liquidity-table-head,
.cash-liquidity-table-row {
  display: grid;
  align-items: stretch;
  border-bottom: 1px solid #e6edf5;
}

.cash-liquidity-table.decision .cash-liquidity-table-head,
.cash-liquidity-table.decision .cash-liquidity-table-row {
  grid-template-columns: 112px 112px .8fr .74fr .9fr .94fr .82fr .82fr minmax(150px, 1.1fr);
}

.cash-liquidity-table.movement .cash-liquidity-table-head,
.cash-liquidity-table.movement .cash-liquidity-table-row {
  grid-template-columns: 112px 112px .9fr .9fr .9fr .9fr .8fr minmax(170px, 1.2fr);
}

.cash-liquidity-table.proof .cash-liquidity-table-head,
.cash-liquidity-table.proof .cash-liquidity-table-row {
  grid-template-columns: 112px 112px .9fr .9fr .9fr .9fr .7fr minmax(170px, 1.2fr);
}

.cash-liquidity-table-head {
  overflow: hidden;
  border-radius: 7px 7px 0 0;
  background: var(--cash-navy);
}

.cash-liquidity-table-head span {
  padding: 6px 8px;
  color: #fff;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .03em;
  text-transform: uppercase;
}

.cash-liquidity-table-row {
  min-height: 31px;
  background: #fff;
}

.cash-liquidity-table-row.current {
  box-shadow: inset 4px 0 0 var(--cash-blue);
}

.cash-liquidity-table-row.caution {
  background: #effcff;
}

.cash-liquidity-table-row.shortage {
  background: #fff5f5;
}

.cash-liquidity-table-row > button,
.cash-liquidity-table-row > span,
.cash-liquidity-table-row > strong {
  display: grid;
  align-content: center;
  min-width: 0;
  border: 0;
  border-left: 1px solid #eef3f8;
  background: transparent;
  color: var(--cash-ink);
  padding: 4px 8px;
  font-size: 10.8px;
  font-weight: 780;
  line-height: 1.18;
  text-align: left;
}

.cash-liquidity-table-row > button {
  cursor: pointer;
}

.cash-liquidity-table-row > button:hover,
.cash-liquidity-table-row > button:focus-visible,
.cash-liquidity-table-row > button.selected {
  outline: 2px solid rgba(37, 99, 235, .32);
  outline-offset: -2px;
  background: rgba(219, 234, 254, .54);
}

.cash-liquidity-table-row .week {
  border-left: 0;
}

.cash-liquidity-table-row .week span {
  display: block;
  color: var(--cash-ink);
  font-weight: 900;
}

.cash-liquidity-table-row em {
  display: block;
  margin-top: 2px;
  color: #6b778c;
  font-size: 9.5px;
  font-style: normal;
  font-weight: 750;
  text-transform: uppercase;
}

.cash-liquidity-table-row .status {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--cash-ink);
  font-weight: 850;
}

.cash-liquidity-table-row .status i {
  display: inline-grid;
  place-items: center;
  min-width: 17px;
  height: 17px;
  border-radius: 50%;
  background: #e8f7ef;
  color: var(--cash-green);
  font-size: 8px;
  font-style: normal;
  font-weight: 950;
}

.cash-liquidity-table-row .status.caution i {
  background: #dff7fb;
  color: var(--cash-amber);
}

.cash-liquidity-table-row .status.shortage i {
  background: #fee2e2;
  color: var(--cash-red);
}

.cash-liquidity-table-row .pos {
  color: var(--cash-green);
}

.cash-liquidity-table-row .neg {
  color: var(--cash-red);
}

.cash-liquidity-table-row .notes {
  overflow: hidden;
  color: #4d5a70;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cash-liquidity-meaning,
.cash-liquidity-actions {
  display: grid;
  gap: 7px;
  padding: 11px 12px;
}

.cash-liquidity-meaning h4,
.cash-liquidity-actions h4 {
  margin: 0;
}

.cash-liquidity-meaning p {
  position: relative;
  margin: 0;
  border-top: 1px solid #edf2f7;
  padding: 7px 0 0 21px;
}

.cash-liquidity-meaning p:first-of-type {
  border-top: 0;
  padding-top: 0;
}

.cash-liquidity-meaning p::before {
  content: "";
  position: absolute;
  left: 0;
  top: 11px;
  width: 13px;
  height: 13px;
  border-radius: 50%;
  background: var(--cash-green);
  box-shadow: inset 0 0 0 3px #e8f7ef;
}

.cash-liquidity-meaning p:first-of-type::before {
  top: 4px;
}

.cash-liquidity-meaning p:nth-of-type(2)::before {
  background: var(--cash-amber);
  box-shadow: inset 0 0 0 3px #dff7fb;
}

.cash-liquidity-meaning p:nth-of-type(3)::before {
  background: var(--cash-red);
  box-shadow: inset 0 0 0 3px #fee2e2;
}

.cash-liquidity-meaning b {
  display: block;
  color: var(--cash-ink);
  font-size: 12px;
  font-weight: 900;
}

.cash-liquidity-meaning span {
  display: none;
  margin-top: 3px;
  color: var(--cash-muted);
  font-size: 10.8px;
  font-weight: 700;
  line-height: 1.22;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cash-liquidity-action-need {
  border-color: #fecaca;
  background: #fff8f8;
  padding: 10px 13px;
}

.cash-liquidity-action-need span {
  display: block;
  color: #991b1b;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .03em;
  text-transform: uppercase;
}

.cash-liquidity-action-need strong {
  display: block;
  margin-top: 5px;
  color: var(--cash-red);
  font-size: 25px;
  font-weight: 950;
}

.cash-liquidity-action-need p {
  margin: 2px 0 0;
  color: #5f6b7f;
  font-size: 12px;
  font-weight: 750;
}

.cash-liquidity-action-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 8px;
  align-items: center;
  border-top: 1px solid #edf2f7;
  padding-top: 8px;
}

.cash-liquidity-action-row:first-of-type {
  border-top: 0;
  padding-top: 0;
}

.cash-liquidity-action-row b {
  display: block;
  color: var(--cash-ink);
  font-size: 11.5px;
  font-weight: 900;
  line-height: 1.2;
}

.cash-liquidity-action-row span,
.cash-liquidity-action-row em {
  display: block;
  color: var(--cash-muted);
  font-size: 10px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.25;
}

.cash-liquidity-action-row span {
  display: none;
}

.cash-liquidity-action-row em {
  white-space: nowrap;
}

.cash-liquidity-action-row strong {
  color: var(--cash-green);
  font-size: 12px;
  font-weight: 950;
  white-space: nowrap;
}

.cash-liquidity-action-row button.applied {
  border-color: #bbf7d0;
  background: #dcfce7;
  color: #166534;
}

.cash-liquidity-explore {
  width: 100%;
  border-color: var(--cash-navy);
  background: var(--cash-navy);
  color: #fff;
  margin-top: 2px;
}

.cash-liquidity-scenario {
  display: grid;
  grid-template-columns: minmax(200px, 1.2fr) repeat(4, minmax(135px, 1fr)) auto;
  gap: 10px;
  align-items: end;
  margin: 12px 22px 0;
  padding: 12px;
}

.cash-liquidity-scenario[hidden] {
  display: none;
}

.cash-liquidity-scenario span,
.cash-liquidity-scenario strong,
.cash-liquidity-scenario label {
  color: var(--cash-ink);
  font-size: 11px;
  font-weight: 850;
}

.cash-liquidity-scenario span {
  display: block;
  color: #7c3aed;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}

.cash-liquidity-scenario strong {
  display: block;
  margin-top: 4px;
}

.cash-liquidity-scenario select {
  display: block;
  width: 100%;
  margin-top: 5px;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  background: #fff;
  padding: 7px 8px;
  color: var(--cash-ink);
  font-size: 11px;
  font-weight: 800;
}

.cash-liquidity-scenario-actions {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.cash-liquidity-drill-row {
  display: grid;
  grid-template-columns: 150px repeat(7, minmax(0, 1fr));
  gap: 0;
  margin: 8px 22px 0;
  overflow: hidden;
}

.cash-liquidity-drill-row > div,
.cash-liquidity-drill-row > button {
  display: grid;
  gap: 2px;
  align-content: center;
  min-width: 0;
  border: 0;
  border-left: 1px solid #e3ebf5;
  background: #fff;
  padding: 6px 8px;
  text-align: left;
}

.cash-liquidity-drill-row > div {
  border-left: 0;
}

.cash-liquidity-drill-row span {
  color: var(--cash-ink);
  overflow: hidden;
  font-size: 10px;
  font-weight: 950;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.cash-liquidity-drill-row strong {
  display: none;
}

.cash-liquidity-drill-row b {
  color: var(--cash-ink);
  overflow: hidden;
  font-size: 10.5px;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cash-liquidity-drill-row button {
  cursor: pointer;
}

.cash-liquidity-drill-row button:hover,
.cash-liquidity-drill-row button:focus-visible,
.cash-liquidity-drill-row button.selected {
  outline: 2px solid rgba(37, 99, 235, .32);
  outline-offset: -2px;
  background: #f8fbff;
}

.cash-liquidity-drill-row i {
  display: none;
}

.cash-liquidity-drill-row button span {
  display: none;
  overflow: hidden;
  color: var(--cash-muted);
  font-size: 10px;
  font-weight: 700;
  line-height: 1.25;
  text-transform: none;
}

.cash-liquidity-drill-row em {
  display: none;
}

.cash-liquidity-proof-panel {
  position: fixed;
  top: 72px;
  right: 28px;
  z-index: 50;
  width: min(430px, calc(100vw - 56px));
  max-height: calc(100vh - 130px);
  overflow: auto;
  border: 1px solid #bcd0e8;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 28px 70px rgba(7, 26, 51, .28);
}

.cash-liquidity-proof-panel[hidden] {
  display: none;
}

.cash-liquidity-proof-panel > button {
  position: sticky;
  top: 0;
  z-index: 1;
  width: 100%;
  border: 0;
  border-bottom: 1px solid #e1e9f4;
  background: var(--cash-navy);
  color: #fff;
  padding: 10px 12px;
  font-size: 12px;
  font-weight: 900;
  text-align: right;
  cursor: pointer;
}

.cash-proof-content {
  display: grid;
  gap: 10px;
  padding: 14px;
}

.cash-proof-eyebrow {
  color: var(--cash-blue);
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.cash-proof-content h4 {
  margin: 0;
  color: var(--cash-ink);
  font-size: 18px;
  font-weight: 950;
  line-height: 1.12;
}

.cash-proof-content p {
  margin: 0;
  color: var(--cash-muted);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
}

.cash-proof-equation {
  display: grid;
  border: 1px solid #d9e4f1;
  border-radius: 8px;
  overflow: hidden;
}

.cash-proof-equation div,
.cash-proof-sources div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  border-top: 1px solid #edf2f7;
  padding: 8px 10px;
}

.cash-proof-equation div:first-child,
.cash-proof-sources div:first-of-type {
  border-top: 0;
}

.cash-proof-equation span,
.cash-proof-sources span,
.cash-proof-assumptions b,
.cash-proof-owner-move b,
.cash-proof-sources > b {
  color: #4b5970;
  font-size: 11px;
  font-weight: 900;
}

.cash-proof-equation strong,
.cash-proof-sources b {
  color: var(--cash-ink);
  font-size: 12px;
  font-weight: 950;
  text-align: right;
}

.cash-proof-equation .pos,
.cash-proof-sources .pos {
  color: var(--cash-green);
}

.cash-proof-equation .neg,
.cash-proof-sources .neg {
  color: var(--cash-red);
}

.cash-proof-flow {
  display: flex;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
  border: 1px solid #dbeafe;
  border-radius: 8px;
  background: #f8fbff;
  padding: 9px;
}

.cash-proof-flow span {
  border: 1px solid #bfdbfe;
  border-radius: 6px;
  background: #fff;
  color: #173b74;
  padding: 7px 8px;
  font-size: 11px;
  font-weight: 850;
}

.cash-proof-flow i {
  width: 16px;
  height: 1px;
  background: #93b4dd;
}

.cash-proof-sources,
.cash-proof-assumptions,
.cash-proof-owner-move {
  display: grid;
  gap: 0;
  border: 1px solid #e0e8f2;
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
}

.cash-proof-sources > b,
.cash-proof-assumptions b,
.cash-proof-owner-move b {
  padding: 9px 10px;
  border-bottom: 1px solid #edf2f7;
  background: #f8fafc;
}

.cash-proof-sources em,
.cash-proof-sources i {
  grid-column: 1 / -1;
  overflow: hidden;
  color: var(--cash-muted);
  font-size: 10.5px;
  font-style: normal;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.cash-proof-assumptions ul {
  margin: 0;
  padding: 9px 24px 10px;
  color: var(--cash-muted);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
}

.cash-proof-owner-move p,
.cash-proof-sources.muted p {
  padding: 10px;
}

.cash-liquidity-footer {
  display: none;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 10px 22px 12px;
}

.cash-liquidity-footer span {
  color: #5b687c;
  font-size: 11.5px;
  font-weight: 750;
}

.cash-liquidity-footer button {
  min-width: 92px;
  border-color: var(--cash-navy);
  background: var(--cash-navy);
  color: #fff;
}

@media (max-width: 1280px) {
  .cash-liquidity-kpis {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .cash-liquidity-main {
    grid-template-columns: 1fr;
  }

  .cash-liquidity-right {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .cash-liquidity-actions {
    grid-column: span 3;
  }

  .cash-liquidity-drill-row {
    grid-template-columns: 200px repeat(7, minmax(160px, 1fr));
    overflow-x: auto;
  }
}

@media (min-width: 981px) and (max-width: 1280px) {
  .cash-liquidity-main {
    grid-template-columns: minmax(0, 1fr) 320px;
  }

  .cash-liquidity-right {
    grid-template-columns: 1fr;
  }

  .cash-liquidity-actions {
    grid-column: auto;
  }
}

@media (max-width: 900px) {
  .cash-liquidity-header,
  .cash-liquidity-main,
  .cash-liquidity-footer {
    grid-template-columns: 1fr;
  }

  .cash-liquidity-header-actions,
  .cash-liquidity-right,
  .cash-liquidity-scenario {
    grid-template-columns: 1fr;
    display: grid;
  }

  .cash-liquidity-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .cash-liquidity-table {
    overflow-x: auto;
  }

  .cash-liquidity-table-head,
  .cash-liquidity-table-row {
    min-width: 960px;
  }
}

.cash-proof-source-links {
  border: 1px solid #d8e1ec;
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
}

.cash-proof-source-links > b {
  display: block;
  padding: 9px 11px;
  border-bottom: 1px solid #e7edf5;
  color: #14233a;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.cash-proof-source-links > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  padding: 9px;
}

.cash-proof-source-links button {
  display: grid;
  gap: 2px;
  min-height: 50px;
  border: 1px solid #c7d7ee;
  border-radius: 7px;
  background: #f7fbff;
  color: #0b2341;
  padding: 8px 10px;
  text-align: left;
  cursor: pointer;
}

.cash-proof-source-links button:hover,
.cash-proof-source-links button:focus-visible {
  border-color: #2563eb;
  background: #eef6ff;
  outline: none;
  box-shadow: 0 0 0 3px rgba(37, 99, 235, .12);
}

.cash-proof-source-links button span {
  font-size: 12px;
  font-weight: 900;
}

.cash-proof-source-links button em {
  color: #627089;
  font-size: 10.5px;
  font-style: normal;
  font-weight: 750;
  text-transform: uppercase;
}

.source-route-banner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px 12px;
  margin: 0 0 12px;
  border: 1px solid #c7d7ee;
  border-left: 4px solid #2563eb;
  border-radius: 8px;
  background: #f7fbff;
  box-shadow: 0 10px 28px rgba(15, 35, 66, .06);
  color: #14233a;
  padding: 10px 12px;
}

.source-route-copy {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.source-route-banner strong {
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.source-route-banner span {
  color: #53647c;
  font-size: 12px;
  font-weight: 750;
}

.source-route-back {
  white-space: nowrap;
}

.local-action-working {
  opacity: .72;
}

.local-action-saved {
  box-shadow: inset 0 0 0 2px rgba(26, 157, 107, .24);
  background: #f2fbf6;
  transition: background .18s, box-shadow .18s;
}

.inventory-system-page > .source-route-banner,
.product-management-page > .source-route-banner {
  margin: 0 0 14px;
}

.source-route-highlight {
  position: relative;
  outline: 2px solid #2563eb;
  outline-offset: 2px;
  box-shadow: 0 0 0 5px rgba(37, 99, 235, .12), 0 14px 34px rgba(15, 35, 66, .12);
  animation: sourceRoutePulse 1.6s ease-in-out 0s 4;
  z-index: 1;
}

tr.source-route-highlight {
  outline-offset: -2px;
}

@keyframes sourceRoutePulse {
  0% {
    box-shadow: 0 0 0 0 rgba(37, 99, 235, .26), 0 14px 34px rgba(15, 35, 66, .12);
  }
  70% {
    box-shadow: 0 0 0 8px rgba(37, 99, 235, .06), 0 14px 34px rgba(15, 35, 66, .12);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(37, 99, 235, 0), 0 14px 34px rgba(15, 35, 66, .12);
  }
}

@media (max-width: 900px) {
  .cash-proof-source-links > div {
    grid-template-columns: 1fr;
  }
}

/* Executive inventory decision view */
.owner-popup-modal.owner-inventory-modal {
  width: min(1660px, calc(100vw - 260px), calc(100% - 16px));
  max-width: calc(100% - 16px);
  max-height: calc(100vh - 16px);
  border: 1px solid #c8d4e2;
  border-radius: 8px;
  background: #f4f6f8;
  box-shadow: 0 28px 80px rgba(6, 18, 36, .42);
}

.owner-popup-modal.owner-inventory-modal h3,
.owner-popup-modal.owner-inventory-modal .modal-actions,
.owner-popup-modal.owner-inventory-modal::before {
  display: none;
}

.owner-popup-modal.owner-inventory-modal > div:not(.modal-actions) {
  max-height: calc(100vh - 16px);
  overflow: auto;
  padding: 0;
}

.inventory-exec-view {
  --inv-navy: #071a33;
  --inv-ink: #14233a;
  --inv-muted: #667085;
  --inv-border: #d8e1ec;
  --inv-soft: #f6f8fb;
  --inv-blue: #2563eb;
  --inv-green: #14845f;
  --inv-amber: #0ea5e9;
  --inv-red: #d22f27;
  display: grid;
  gap: 8px;
  color: var(--inv-ink);
  font-family: var(--app-font);
  letter-spacing: 0;
}

.inventory-exec-view button,
.inventory-exec-view select,
.inventory-exec-view a {
  font: inherit;
}

.inventory-exec-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto auto 38px;
  gap: 11px;
  align-items: center;
  padding: 13px 20px;
  background: linear-gradient(90deg, #061326, #0b274b);
  color: #fff;
}

.inventory-exec-header > div {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  grid-template-areas:
    "icon title"
    "icon sub";
  gap: 3px 12px;
  align-items: center;
  min-width: 0;
}

.inventory-exec-header > div i {
  grid-area: icon;
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border: 1px solid rgba(255, 255, 255, .35);
  border-radius: 9px;
  background: rgba(255, 255, 255, .08);
}

.inventory-exec-header svg {
  width: 27px;
  height: 27px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.inventory-exec-header span {
  grid-area: title;
  overflow: hidden;
  font-size: 25px;
  font-weight: 900;
  line-height: 1.05;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.inventory-exec-header p {
  grid-area: sub;
  margin: 0;
  color: #c6d4e7;
  font-size: 12px;
  font-weight: 750;
}

.inventory-exec-header label {
  display: flex;
  gap: 8px;
  align-items: center;
  min-height: 36px;
  border: 1px solid rgba(255, 255, 255, .35);
  border-radius: 7px;
  background: rgba(255, 255, 255, .08);
  color: #fff;
  padding: 7px 11px;
  font-size: 12px;
  font-weight: 850;
}

.inventory-exec-header select {
  border: 0;
  background: transparent;
  color: #fff;
  font-weight: 900;
}

.inventory-exec-header > strong {
  display: grid;
  gap: 2px;
  padding-left: 16px;
  border-left: 1px solid rgba(255, 255, 255, .34);
}

.inventory-exec-header > strong b {
  color: #fff;
  font-size: 24px;
  font-weight: 920;
  line-height: .95;
}

.inventory-exec-header > strong em {
  color: #d7e0ec;
  font-size: 11px;
  font-style: normal;
  font-weight: 780;
}

.inventory-exec-close {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 8px;
  background: rgba(255, 255, 255, .08);
  color: #fff;
  cursor: pointer;
  font-size: 17px;
  font-weight: 900;
}

.inventory-exec-diagnosis,
.inventory-exec-kpis,
.inventory-conversion-path,
.inventory-priority-panel,
.inventory-decision-view,
.inventory-exec-interpretation,
.inventory-exec-actions,
.inventory-risk-summary,
.inventory-purchase-logic,
.inventory-exec-detail,
.inventory-exec-drills {
  border: 1px solid var(--inv-border);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(15, 35, 66, .05);
}

.inventory-exec-diagnosis {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  margin: 0 14px;
  padding: 9px 14px;
}

.inventory-exec-diagnosis > i {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 9px;
  background: #eef4ff;
  color: var(--inv-blue);
  font-size: 19px;
  font-style: normal;
  font-weight: 900;
}

.inventory-exec-diagnosis p {
  margin: 0 0 6px;
  color: #26354c;
  font-size: 13px;
  font-weight: 740;
  line-height: 1.35;
}

.inventory-exec-diagnosis span {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.inventory-exec-diagnosis b {
  border: 1px solid #d8e1ec;
  border-radius: 999px;
  background: #f8fafc;
  color: #1f334f;
  padding: 3px 9px;
  font-size: 10.5px;
  font-weight: 850;
}

.inventory-exec-diagnosis b.hold {
  border-color: #ffd4d1;
  background: #fff3f2;
  color: var(--inv-red);
}

.inventory-exec-diagnosis b.watch {
  border-color: #9adfec;
  background: #f0fbfd;
  color: #a55b00;
}

.inventory-exec-kpis {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0;
  margin: 0 14px;
  overflow: hidden;
}

.inventory-exec-kpi {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  grid-template-areas:
    "icon label"
    "icon value"
    "icon sub";
  gap: 2px 8px;
  min-width: 0;
  border: 0;
  border-left: 1px solid #e6edf5;
  background: #fff;
  color: var(--inv-ink);
  padding: 10px 11px;
  text-align: left;
  cursor: pointer;
}

.inventory-exec-kpi:first-child {
  border-left: 0;
}

.inventory-exec-kpi i {
  grid-area: icon;
  display: grid;
  place-items: center;
  width: 29px;
  height: 29px;
  border-radius: 999px;
  background: #eef4ff;
  color: var(--inv-blue);
}

.inventory-exec-kpi svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.inventory-exec-kpi span,
.inventory-exec-section-head span,
.inventory-priority-legend span,
.inventory-risk-summary button span {
  color: #10223d;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.inventory-exec-kpi strong {
  grid-area: value;
  color: #0f2748;
  font-size: 22px;
  font-weight: 920;
  line-height: .98;
}

.inventory-exec-kpi em {
  grid-area: sub;
  color: #526174;
  font-size: 11px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.2;
}

.inventory-exec-kpi.risk strong,
.inventory-exec-kpi.hold strong {
  color: var(--inv-red);
}

.inventory-exec-kpi.watch strong {
  color: var(--inv-amber);
}

.inventory-exec-kpi.ok strong {
  color: var(--inv-blue);
}

.inventory-exec-kpi.selected,
.inventory-exec-kpi:hover,
.inventory-exec-kpi:focus-visible,
.inventory-path-stage.selected,
.inventory-priority-item.selected,
.inventory-decision-row.selected,
.inventory-risk-summary button.selected {
  position: relative;
  outline: 2px solid rgba(37, 99, 235, .75);
  outline-offset: -2px;
  background: #f8fbff;
}

.inventory-exec-main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 420px;
  gap: 10px;
  align-items: start;
  padding: 0 14px;
}

.inventory-exec-left,
.inventory-exec-right {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.inventory-conversion-path,
.inventory-priority-panel,
.inventory-decision-view,
.inventory-exec-interpretation,
.inventory-exec-actions,
.inventory-risk-summary,
.inventory-purchase-logic,
.inventory-exec-detail {
  padding: 10px 12px;
}

.inventory-exec-section-head {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: baseline;
  margin-bottom: 7px;
}

.inventory-exec-section-head em {
  color: #637185;
  font-size: 11px;
  font-style: normal;
  font-weight: 760;
}

.inventory-path-stages {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
}

.inventory-path-stage {
  position: relative;
  display: grid;
  gap: 4px;
  min-height: 108px;
  border: 1px solid #dce5ef;
  border-radius: 8px;
  background: linear-gradient(180deg, #fbfdff, #f6f8fb);
  color: var(--inv-ink);
  padding: 10px 9px;
  text-align: center;
  cursor: pointer;
}

.inventory-path-stage > i {
  display: grid;
  place-items: center;
  justify-self: center;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: #eef4ff;
  color: var(--inv-blue);
}

.inventory-path-stage svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.inventory-path-stage span {
  color: #243551;
  font-size: 11px;
  font-weight: 900;
}

.inventory-path-stage strong {
  color: #124c9e;
  font-size: 20px;
  font-weight: 920;
  line-height: 1;
}

.inventory-path-stage em {
  color: #526174;
  font-size: 10.2px;
  font-style: normal;
  font-weight: 760;
}

.inventory-path-stage > b {
  position: absolute;
  top: 50%;
  right: -13px;
  width: 17px;
  height: 3px;
  border-radius: 999px;
  background: #8ea0b8;
  transform: translateY(-50%);
  z-index: 2;
}

.inventory-path-stage > b::after {
  position: absolute;
  top: -5px;
  right: -2px;
  width: 0;
  height: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 9px solid #8ea0b8;
  content: "";
}

.inventory-priority-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  align-items: center;
  margin-bottom: 8px;
}

.inventory-priority-legend i {
  display: inline-block;
  width: 16px;
  height: 8px;
  margin-right: 6px;
  border-radius: 999px;
  vertical-align: middle;
}

.inventory-priority-legend .bar {
  background: var(--inv-blue);
}

.inventory-priority-legend .target {
  height: 2px;
  border-radius: 0;
  background: #243551;
}

.inventory-priority-legend .dot {
  width: 8px;
  height: 8px;
  background: var(--inv-green);
}

.inventory-priority-chart {
  display: grid;
  grid-template-columns: repeat(7, minmax(82px, 1fr));
  gap: 8px;
  align-items: end;
  min-height: 154px;
  padding: 4px 4px 0;
}

.inventory-priority-item {
  display: grid;
  grid-template-rows: 100px auto auto;
  gap: 4px;
  align-items: end;
  border: 0;
  border-radius: 7px;
  background: #fff;
  color: var(--inv-ink);
  padding: 0 4px 4px;
  cursor: pointer;
  text-align: center;
}

.inventory-priority-item > span,
.inventory-decision-row > span {
  display: flex;
  gap: 8px;
  align-items: center;
  min-width: 0;
  color: #12233c;
  font-size: 12px;
  font-weight: 850;
}

.inventory-priority-item > span {
  justify-content: center;
  order: 2;
  font-size: 10.5px;
}

.inventory-priority-item > b {
  position: relative;
  order: 1;
  height: 100px;
  width: 100%;
  border-bottom: 1px solid #e7edf5;
  border-left: 0;
  background:
    repeating-linear-gradient(180deg, transparent 0 24px, #edf2f7 24px 25px);
}

.inventory-priority-item .bar-line {
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 34px;
  height: var(--w);
  max-height: 96px;
  min-height: 2px;
  border-radius: 4px 4px 0 0;
  background: linear-gradient(180deg, #2d72e8, #1757c2);
  transform: translateX(-50%);
}

.inventory-priority-item .target-line {
  position: absolute;
  left: 6px;
  right: 6px;
  bottom: var(--x);
  width: auto;
  border-top: 2px dashed #344863;
  border-left: 0;
}

.inventory-priority-item .gp-dot {
  position: absolute;
  left: auto;
  right: 8px;
  bottom: var(--x);
  width: 9px;
  height: 9px;
  border: 2px solid #fff;
  border-radius: 999px;
  background: var(--inv-green);
  box-shadow: 0 0 0 1px rgba(20, 132, 95, .45);
}

.inventory-priority-item strong,
.inventory-priority-item em {
  order: 3;
  color: #10223d;
  font-size: 11px;
  font-style: normal;
  font-weight: 880;
  text-align: center;
}

.inventory-priority-item em {
  display: none;
}

.inventory-decision-table {
  display: grid;
  overflow: hidden;
  border: 1px solid #dce5ef;
  border-radius: 8px;
}

.inventory-decision-table .head,
.inventory-decision-row {
  display: grid;
  grid-template-columns: minmax(160px, 1.15fr) .82fr .55fr .58fr .56fr .56fr .55fr .72fr .82fr;
  gap: 8px;
  align-items: center;
  min-width: 0;
}

.inventory-decision-table .head {
  background: #10223d;
  color: #fff;
  padding: 7px 10px;
}

.inventory-decision-table .head span {
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.inventory-decision-row {
  width: 100%;
  border: 0;
  border-top: 1px solid #e5ebf2;
  background: #fff;
  color: var(--inv-ink);
  padding: 5px 10px;
  cursor: pointer;
  text-align: left;
}

.inventory-decision-row strong,
.inventory-decision-row em,
.inventory-decision-row b {
  overflow: hidden;
  color: #12233c;
  font-size: 11px;
  font-style: normal;
  font-weight: 820;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.inventory-decision-row b {
  justify-self: start;
  border-radius: 999px;
  background: #eef4ff;
  padding: 2px 7px;
}

.inventory-decision-row.under-covered b,
.inventory-decision-row.low-cover b {
  background: #fff3e3;
  color: #a55b00;
}

.inventory-decision-row.over-covered b,
.inventory-decision-row.excessive b {
  background: #fff0ef;
  color: var(--inv-red);
}

.inventory-exec-interpretation h4,
.inventory-exec-actions h4,
.inventory-purchase-logic h4 {
  margin: 0 0 7px;
  color: #10223d;
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
}

.inventory-exec-interpretation {
  display: grid;
  gap: 6px;
}

.inventory-exec-interpretation p {
  margin: 0;
  color: #33445c;
  font-size: 11.5px;
  font-weight: 700;
  line-height: 1.25;
}

.inventory-exec-interpretation b {
  color: #10223d;
}

.inventory-exec-actions ol {
  display: grid;
  gap: 7px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.inventory-exec-actions li {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 7px;
  align-items: start;
  counter-increment: inv-action;
}

.inventory-exec-actions li::before {
  display: grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border-radius: 999px;
  background: #e7f6ee;
  color: var(--inv-green);
  content: counter(inv-action);
  font-size: 12px;
  font-weight: 900;
}

.inventory-exec-actions b {
  color: #10223d;
  font-size: 11.3px;
  font-weight: 900;
  line-height: 1.25;
}

.inventory-exec-actions em {
  display: block;
  color: #637185;
  font-size: 10.4px;
  font-style: normal;
  font-weight: 750;
  line-height: 1.25;
}

.inventory-exec-actions .btn {
  justify-content: center;
  width: 100%;
  margin-top: 8px;
  background: #0b274b;
}

.inventory-risk-summary > div:last-child {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
}

.inventory-risk-summary button {
  display: grid;
  gap: 3px;
  border: 1px solid #dce5ef;
  border-radius: 8px;
  background: #fff;
  color: var(--inv-ink);
  padding: 8px;
  text-align: left;
  cursor: pointer;
}

.inventory-risk-summary button strong {
  color: #124c9e;
  font-size: 18px;
  font-weight: 920;
}

.inventory-risk-summary button:nth-child(3) strong {
  color: var(--inv-red);
}

.inventory-risk-summary button em {
  color: #637185;
  font-size: 10px;
  font-style: normal;
  font-weight: 760;
}

.inventory-purchase-logic div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 18px minmax(0, 1fr) 18px minmax(0, 1fr) 18px minmax(0, 1fr);
  gap: 7px;
  align-items: stretch;
}

.inventory-purchase-logic span,
.inventory-purchase-logic strong {
  display: grid;
  place-items: center;
  min-height: 36px;
  border: 1px solid #dce5ef;
  border-radius: 7px;
  background: #f8fafc;
  color: #10223d;
  padding: 6px;
  font-size: 10.2px;
  font-weight: 850;
  text-align: center;
}

.inventory-purchase-logic strong {
  border-color: #ffd4d1;
  background: #fff3f2;
  color: var(--inv-red);
}

.inventory-purchase-logic b {
  align-self: center;
  color: #6c7b90;
  font-size: 17px;
  font-weight: 900;
  text-align: center;
}

.inventory-exec-detail {
  display: grid;
  gap: 6px;
}

.inventory-exec-detail div span {
  color: #10223d;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.inventory-exec-detail strong {
  color: #0f2748;
  font-size: 22px;
  font-weight: 920;
  line-height: 1;
}

.inventory-exec-detail p,
.inventory-exec-detail em {
  margin: 0;
  color: #526174;
  font-size: 11px;
  font-style: normal;
  font-weight: 730;
  line-height: 1.35;
}

.inventory-exec-detail section {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 20px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
}

.inventory-exec-detail section b {
  border: 1px solid #dce5ef;
  border-radius: 7px;
  background: #f8fafc;
  padding: 6px;
  color: #10223d;
  font-size: 11px;
  font-weight: 850;
  text-align: center;
}

.inventory-exec-detail section i {
  color: #6c7b90;
  font-style: normal;
  font-weight: 900;
  text-align: center;
}

.inventory-exec-detail.is-highlighted {
  animation: inventoryExecPulse .9s ease;
}

@keyframes inventoryExecPulse {
  0% {
    box-shadow: 0 0 0 0 rgba(37, 99, 235, .22), 0 10px 24px rgba(15, 35, 66, .05);
  }
  72% {
    box-shadow: 0 0 0 7px rgba(37, 99, 235, .08), 0 10px 24px rgba(15, 35, 66, .08);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(37, 99, 235, 0), 0 10px 24px rgba(15, 35, 66, .05);
  }
}

.inventory-exec-drills {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 0;
  margin: 0 14px 10px;
  overflow: hidden;
}

.inventory-exec-drills a {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) 12px;
  grid-template-areas:
    "icon title arrow"
    "icon sub arrow";
  gap: 2px 9px;
  min-width: 0;
  border-left: 1px solid #e6edf5;
  color: var(--inv-ink);
  padding: 8px 10px;
  text-decoration: none;
}

.inventory-exec-drills a:first-child {
  border-left: 0;
}

.inventory-exec-drills i {
  grid-area: icon;
  display: grid;
  place-items: center;
  width: 27px;
  height: 27px;
  border-radius: 999px;
  background: #eef4ff;
  color: var(--inv-blue);
}

.inventory-exec-drills svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.inventory-exec-drills span {
  grid-area: title;
  overflow: hidden;
  color: #10223d;
  font-size: 11px;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.inventory-exec-drills em {
  grid-area: sub;
  overflow: hidden;
  color: #637185;
  font-size: 10px;
  font-style: normal;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.inventory-exec-drills a::after {
  grid-area: arrow;
  align-self: center;
  color: #7b8aa0;
  content: ">";
  font-size: 16px;
  font-weight: 900;
}

@media (max-width: 1280px) {
  .inventory-exec-header,
  .inventory-exec-main {
    grid-template-columns: 1fr;
  }

  .inventory-exec-header {
    grid-template-columns: 1fr auto;
  }

  .inventory-exec-header label,
  .inventory-exec-header > strong {
    justify-self: start;
  }

  .inventory-exec-kpis {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .inventory-path-stages {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .inventory-path-stage > b {
    display: none;
  }

  .inventory-exec-drills {
    grid-template-columns: repeat(4, minmax(180px, 1fr));
    overflow-x: auto;
  }
}

@media (max-width: 900px) {
  .owner-popup-modal.owner-inventory-modal {
    width: calc(100% - 12px);
  }

  .inventory-exec-kpis,
  .inventory-path-stages,
  .inventory-risk-summary > div:last-child,
  .inventory-purchase-logic div {
    grid-template-columns: 1fr;
  }

  .inventory-priority-item {
    grid-template-columns: 1fr;
  }

  .inventory-decision-table {
    overflow-x: auto;
  }

  .inventory-decision-table .head,
  .inventory-decision-row {
    min-width: 980px;
  }
}

/* Inventory executive visual refinement */
@media (min-width: 761px) {
  .modal-overlay:has(.owner-inventory-modal) {
    left: 0;
    z-index: 2200;
  }
}

.owner-popup-modal.owner-inventory-modal {
  width: min(1668px, calc(100vw - 16px));
  max-width: calc(100vw - 16px);
  height: calc(100vh - 16px);
  max-height: calc(100vh - 16px);
  overflow: hidden;
  border-color: #b9c6d6;
  background: #f3f6fa;
  z-index: 2201;
}

.owner-popup-modal.owner-inventory-modal > div:not(.modal-actions) {
  height: 100%;
  max-height: none;
  overflow: hidden;
}

.owner-popup-modal.owner-inventory-modal .owner-visual-popup {
  height: 100%;
}

.inventory-exec-view {
  height: 100%;
  grid-template-rows: auto auto auto minmax(0, 1fr) auto;
  gap: 8px;
  overflow: hidden;
  background:
    radial-gradient(circle at 16% 0, rgba(37, 99, 235, .08), transparent 24%),
    #f4f7fb;
}

.inventory-exec-header {
  grid-template-columns: minmax(0, 1fr) 150px 158px auto 38px;
  min-height: 66px;
  padding: 9px 18px;
  background: linear-gradient(105deg, #061326 0%, #08264b 72%, #0b2d58 100%);
}

.inventory-exec-header > div {
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 3px 14px;
}

.inventory-exec-header > div i {
  width: 46px;
  height: 46px;
  border-radius: 10px;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .06);
}

.inventory-exec-header span {
  font-size: 24px;
  letter-spacing: 0;
}

.inventory-exec-header p {
  color: #d5dfec;
}

.inventory-exec-header label {
  justify-content: center;
  min-height: 36px;
  padding: 7px 11px;
}

.inventory-exec-header > strong {
  min-width: 174px;
  padding-left: 20px;
}

.inventory-exec-header > strong b {
  font-size: 24px;
}

.inventory-exec-diagnosis {
  min-height: 50px;
  padding: 6px 14px;
}

.inventory-exec-diagnosis p {
  margin-bottom: 4px;
  font-size: 12.8px;
}

.inventory-exec-kpis {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  min-height: 70px;
}

.inventory-exec-kpi {
  grid-template-columns: 34px minmax(0, 1fr);
  padding: 7px 11px;
}

.inventory-exec-kpi i {
  width: 30px;
  height: 30px;
}

.inventory-exec-kpi strong {
  font-size: 20px;
}

.inventory-exec-main {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 422px;
  grid-template-rows: auto minmax(178px, .74fr) minmax(0, 1fr) auto;
  grid-template-areas:
    "path meaning"
    "chart actions"
    "table risk"
    "table logic";
  gap: 8px 10px;
  align-items: stretch;
  min-height: 0;
  overflow: hidden;
}

.inventory-exec-left,
.inventory-exec-right {
  display: contents;
}

.inventory-conversion-path {
  grid-area: path;
}

.inventory-priority-panel {
  grid-area: chart;
}

.inventory-decision-view {
  grid-area: table;
  min-height: 0;
}

.inventory-exec-interpretation {
  grid-area: meaning;
}

.inventory-exec-actions {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
}

.inventory-exec-actions {
  grid-area: actions;
}

.inventory-risk-summary {
  grid-area: risk;
}

.inventory-purchase-logic {
  grid-area: logic;
}

.inventory-conversion-path,
.inventory-priority-panel,
.inventory-decision-view,
.inventory-exec-interpretation,
.inventory-exec-actions,
.inventory-risk-summary,
.inventory-purchase-logic {
  min-height: 0;
  padding: 9px 12px;
}

.inventory-path-stages {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
}

.inventory-path-stage {
  min-height: 100px;
  padding: 9px 8px;
}

.inventory-path-stage strong {
  font-size: 19px;
}

.inventory-path-stage em {
  line-height: 1.15;
}

.inventory-path-stage > b {
  display: block;
}

.inventory-priority-panel {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
}

.inventory-priority-chart {
  grid-template-columns: repeat(7, minmax(0, 1fr));
  align-items: stretch;
  min-height: 0;
  padding: 0 4px;
}

.inventory-priority-item {
  grid-template-rows: minmax(86px, 1fr) 28px 18px;
  min-width: 0;
  padding: 0 3px 2px;
}

.inventory-priority-item > b {
  height: 100%;
  min-height: 86px;
  border-bottom-color: #dbe4ef;
  background:
    linear-gradient(180deg, rgba(20, 132, 95, .07), rgba(20, 132, 95, .02) 42%, rgba(210, 47, 39, .04) 100%),
    repeating-linear-gradient(180deg, transparent 0 20%, rgba(219, 228, 239, .9) calc(20% + 1px), transparent calc(20% + 2px));
}

.inventory-priority-item .bar-line {
  width: 38px;
  max-height: calc(100% - 4px);
}

.inventory-priority-item .gp-dot {
  right: calc(50% - 29px);
}

.inventory-priority-item > span {
  justify-content: center;
  gap: 5px;
  font-size: 10.2px;
  line-height: 1.05;
}

.inventory-priority-item .manaforge-product-thumb {
  width: 20px;
  height: 20px;
}

.inventory-decision-view {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
}

.inventory-decision-table {
  min-height: 0;
  overflow: auto;
}

.inventory-decision-table .head,
.inventory-decision-row {
  grid-template-columns: minmax(140px, 1.18fr) .76fr .52fr .54fr .52fr .52fr .52fr .68fr .78fr;
  gap: 6px;
}

.inventory-decision-table .head {
  padding: 4px 8px;
}

.inventory-decision-table .head span {
  font-size: 8.8px;
}

.inventory-decision-row {
  min-height: 21px;
  padding: 1px 8px;
}

.inventory-decision-row > span {
  gap: 5px;
  font-size: 10px;
}

.inventory-decision-row .manaforge-product-thumb {
  width: 16px;
  height: 16px;
}

.inventory-decision-row strong,
.inventory-decision-row em,
.inventory-decision-row b {
  font-size: 9.8px;
}

.inventory-decision-row b {
  padding: 2px 6px;
}

.inventory-exec-interpretation,
.inventory-exec-actions,
.inventory-risk-summary,
.inventory-purchase-logic {
  overflow: hidden;
}

.inventory-exec-interpretation {
  align-content: start;
  gap: 7px;
}

.inventory-exec-interpretation p {
  padding-left: 22px;
  position: relative;
}

.inventory-exec-interpretation p::before {
  position: absolute;
  left: 0;
  top: 2px;
  display: grid;
  place-items: center;
  width: 15px;
  height: 15px;
  border-radius: 999px;
  background: #e8f4ef;
  color: var(--inv-green);
  content: "ok";
  font-size: 10px;
  font-weight: 900;
}

.inventory-exec-interpretation {
  gap: 4px;
}

.inventory-exec-interpretation p {
  padding-left: 18px;
  font-size: 10.8px;
  line-height: 1.18;
}

.inventory-exec-interpretation p::before {
  width: 13px;
  height: 13px;
  content: "ok";
  font-size: 7px;
}

.inventory-exec-actions ol {
  align-content: start;
  gap: 4px;
  min-height: 0;
  overflow: hidden;
}

.inventory-exec-actions li {
  grid-template-columns: 19px minmax(0, 1fr);
  gap: 5px 7px;
  grid-template-rows: auto auto;
  min-height: 0;
}

.inventory-exec-actions li::before {
  grid-column: 1;
  grid-row: 1 / span 2;
}

.inventory-exec-actions b,
.inventory-exec-actions em {
  grid-column: 2;
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.inventory-exec-actions .btn {
  min-height: 30px;
  margin-top: 6px;
}

.inventory-risk-summary {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
}

.inventory-risk-summary > div:last-child {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}

.inventory-risk-summary button {
  align-content: start;
  gap: 2px;
  min-height: 76px;
  padding: 7px;
}

.inventory-risk-summary button strong {
  font-size: 17px;
}

.inventory-risk-summary button span {
  font-size: 9.4px;
}

.inventory-purchase-logic div {
  grid-template-columns: minmax(0, 1fr) 14px minmax(0, 1fr) 14px minmax(0, 1fr) 14px minmax(0, 1fr);
  gap: 5px;
}

.inventory-purchase-logic span,
.inventory-purchase-logic strong {
  min-height: 32px;
  padding: 5px;
  font-size: 9.6px;
}

.inventory-exec-detail {
  position: absolute;
  right: 14px;
  bottom: 58px;
  z-index: 8;
  display: none;
  width: min(420px, calc(100% - 28px));
  padding: 12px;
  border-color: #a8c5ff;
  background: #fff;
  box-shadow: 0 20px 46px rgba(15, 35, 66, .22);
}

.inventory-exec-detail.detail-open {
  display: grid;
}

.inventory-exec-detail div:first-child {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}

.inventory-exec-detail div:first-child button {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border: 1px solid #d7e2f0;
  border-radius: 999px;
  background: #fff;
  color: #10223d;
  cursor: pointer;
  font-size: 12px;
  font-weight: 900;
}

.inventory-exec-drills {
  grid-template-columns: repeat(7, minmax(0, 1fr));
  min-height: 48px;
  margin: 0 14px 10px;
}

.inventory-exec-drills a {
  padding: 7px 10px;
}

@media (max-width: 1100px) {
  .owner-popup-modal.owner-inventory-modal {
    width: calc(100vw - 12px);
    height: calc(100vh - 12px);
    max-width: calc(100vw - 12px);
    max-height: calc(100vh - 12px);
  }

  .inventory-exec-main {
    grid-template-columns: 1fr;
    grid-template-areas:
      "path"
      "chart"
      "meaning"
      "actions"
      "table"
      "risk"
      "logic";
    overflow: auto;
  }
}

/* Executive labor capacity and build return view */
.owner-popup-modal.owner-labor-modal {
  width: min(1660px, calc(100vw - 260px), calc(100% - 16px));
  max-width: calc(100% - 16px);
  max-height: calc(100vh - 16px);
  border: 1px solid #c7d3e1;
  border-radius: 8px;
  background: #f4f6f8;
  box-shadow: 0 28px 80px rgba(6, 18, 36, .42);
}

.owner-popup-modal.owner-labor-modal h3,
.owner-popup-modal.owner-labor-modal .modal-actions,
.owner-popup-modal.owner-labor-modal::before {
  display: none;
}

.owner-popup-modal.owner-labor-modal > div:not(.modal-actions) {
  max-height: calc(100vh - 16px);
  overflow: auto;
  padding: 0;
}

.labor-exec-view {
  --labor-navy: #071a33;
  --labor-ink: #132238;
  --labor-muted: #5f6d80;
  --labor-border: #d8e1ec;
  --labor-soft: #f6f8fb;
  --labor-blue: #2563eb;
  --labor-green: #14845f;
  --labor-amber: #0ea5e9;
  --labor-red: #cf2f28;
  display: grid;
  gap: 10px;
  color: var(--labor-ink);
  font-family: var(--app-font);
  letter-spacing: 0;
}

.labor-exec-view button,
.labor-exec-view select,
.labor-exec-view a {
  font: inherit;
}

.labor-exec-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto auto 38px;
  gap: 12px;
  align-items: center;
  padding: 16px 20px;
  background: linear-gradient(90deg, #061326, #0b274b);
  color: #fff;
}

.labor-exec-header > div {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  grid-template-areas:
    "icon title"
    "icon sub";
  gap: 3px 12px;
  align-items: center;
  min-width: 0;
}

.labor-exec-header > div i,
.labor-exec-header label i {
  display: grid;
  place-items: center;
}

.labor-exec-header > div i {
  grid-area: icon;
  width: 52px;
  height: 52px;
  border: 1px solid rgba(255, 255, 255, .35);
  border-radius: 9px;
  background: rgba(255, 255, 255, .08);
}

.labor-exec-header svg,
.labor-exec-kpi svg,
.labor-exec-drills svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.labor-exec-header > div span {
  grid-area: title;
  overflow: hidden;
  font-size: 27px;
  font-weight: 900;
  line-height: 1.05;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.labor-exec-header p {
  grid-area: sub;
  margin: 0;
  color: #c6d4e7;
  font-size: 12px;
  font-weight: 760;
}

.labor-exec-header > strong {
  display: grid;
  gap: 2px;
  padding: 0 18px;
  border-left: 1px solid rgba(255, 255, 255, .34);
  border-right: 1px solid rgba(255, 255, 255, .22);
}

.labor-exec-header > strong em {
  color: #d7e0ec;
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
}

.labor-exec-header > strong b {
  color: #7ade89;
  font-size: 31px;
  font-weight: 920;
  line-height: .95;
}

.labor-exec-header label {
  display: grid;
  gap: 3px;
  min-width: 154px;
  border: 1px solid rgba(255, 255, 255, .35);
  border-radius: 7px;
  background: rgba(255, 255, 255, .08);
  color: #d7e0ec;
  padding: 8px 10px;
  font-size: 11px;
  font-weight: 800;
}

.labor-exec-header select {
  border: 0;
  background: transparent;
  color: #fff;
  font-weight: 900;
}

.labor-exec-close {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 8px;
  background: rgba(255, 255, 255, .08);
  color: #fff;
  cursor: pointer;
  font-size: 17px;
  font-weight: 900;
}

.labor-exec-diagnosis,
.labor-exec-kpis,
.labor-return-chart,
.labor-frontier,
.labor-capacity-timeline,
.labor-decision-view,
.labor-exec-meaning,
.labor-exec-actions,
.labor-capacity-summary,
.labor-exec-detail,
.labor-assumption-strip,
.labor-exec-drills {
  border: 1px solid var(--labor-border);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(15, 35, 66, .05);
}

.labor-exec-diagnosis {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  margin: 0 14px;
  padding: 11px 14px;
}

.labor-exec-diagnosis > i {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 9px;
  background: #eef4ff;
  color: var(--labor-blue);
}

.labor-exec-diagnosis p {
  margin: 0 0 8px;
  color: #24344c;
  font-size: 14px;
  font-weight: 760;
  line-height: 1.35;
}

.labor-exec-diagnosis span {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.labor-exec-diagnosis b {
  border: 1px solid #d8e1ec;
  border-radius: 999px;
  background: #f8fafc;
  color: #1f334f;
  padding: 4px 10px;
  font-size: 11px;
  font-weight: 850;
}

.labor-exec-diagnosis b.pos {
  border-color: #b9ead0;
  background: #edfbf2;
  color: var(--labor-green);
}

.labor-exec-diagnosis b.warn {
  border-color: #9adfec;
  background: #f0fbfd;
  color: #a55b00;
}

.labor-exec-diagnosis b.info {
  border-color: #c7d8fb;
  background: #f2f6ff;
  color: #174ea6;
}

.labor-exec-kpis {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0;
  margin: 0 14px;
  overflow: hidden;
}

.labor-exec-kpi {
  display: grid;
  grid-template-columns: 35px minmax(0, 1fr);
  grid-template-areas:
    "icon label"
    "icon value"
    "icon sub";
  gap: 2px 9px;
  min-width: 0;
  border: 0;
  border-left: 1px solid #e6edf5;
  background: #fff;
  color: var(--labor-ink);
  padding: 12px;
  text-align: left;
  cursor: pointer;
}

.labor-exec-kpi:first-child {
  border-left: 0;
}

.labor-exec-kpi i,
.labor-exec-drills i {
  display: grid;
  place-items: center;
  width: 31px;
  height: 31px;
  border-radius: 999px;
  background: #eef4ff;
  color: var(--labor-blue);
}

.labor-exec-kpi i {
  grid-area: icon;
}

.labor-exec-kpi span,
.labor-section-head span,
.labor-capacity-summary button span {
  color: #10223d;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.labor-exec-kpi strong {
  grid-area: value;
  color: #0f2748;
  font-size: 23px;
  font-weight: 920;
  line-height: .98;
}

.labor-exec-kpi em {
  grid-area: sub;
  overflow: hidden;
  color: #526174;
  font-size: 11px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.labor-exec-kpi.pos strong {
  color: var(--labor-green);
}

.labor-exec-kpi.warn strong {
  color: var(--labor-amber);
}

.labor-exec-kpi.selected,
.labor-exec-kpi:hover,
.labor-exec-kpi:focus-visible,
.labor-return-bar.selected,
.labor-frontier-grid button.selected,
.labor-decision-row.selected,
.labor-capacity-summary button.selected {
  position: relative;
  outline: 2px solid rgba(37, 99, 235, .75);
  outline-offset: -2px;
  background: #f8fbff;
}

.labor-exec-main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 470px;
  gap: 12px;
  align-items: start;
  padding: 0 14px;
}

.labor-exec-left,
.labor-exec-right {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.labor-return-chart,
.labor-frontier,
.labor-capacity-timeline,
.labor-decision-view,
.labor-exec-meaning,
.labor-exec-actions,
.labor-capacity-summary,
.labor-exec-detail {
  padding: 13px;
}

.labor-section-head {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: baseline;
  margin-bottom: 10px;
}

.labor-section-head em {
  color: #637185;
  font-size: 11px;
  font-style: normal;
  font-weight: 760;
}

.labor-chart-tabs {
  display: inline-flex;
  overflow: hidden;
  border: 1px solid #cbd6e4;
  border-radius: 7px;
  margin-bottom: 8px;
}

.labor-chart-tabs button {
  border: 0;
  border-left: 1px solid #dbe4ee;
  background: #f8fafc;
  color: #22354f;
  padding: 5px 13px;
  cursor: pointer;
  font-size: 11px;
  font-weight: 850;
}

.labor-chart-tabs button:first-child {
  border-left: 0;
}

.labor-chart-tabs button.active {
  background: #10223d;
  color: #fff;
}

.labor-return-bars {
  display: grid;
  gap: 7px;
}

.labor-return-bar {
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr) 84px 104px;
  gap: 10px;
  align-items: center;
  border: 0;
  border-radius: 7px;
  background: #fff;
  color: var(--labor-ink);
  padding: 5px 8px;
  cursor: pointer;
  text-align: left;
}

.labor-return-bar span,
.labor-decision-row span,
.labor-frontier-grid button strong {
  display: flex;
  gap: 8px;
  align-items: center;
  min-width: 0;
  color: #12233c;
  font-size: 12px;
  font-weight: 850;
}

.labor-return-bar span b {
  margin-left: auto;
  border-radius: 999px;
  background: #eef4ff;
  color: #174ea6;
  padding: 2px 7px;
  font-size: 10px;
  font-weight: 900;
}

.labor-return-bar > strong {
  position: relative;
  height: 26px;
  border-bottom: 1px solid #e7edf5;
  border-left: 1px solid #e7edf5;
  background: repeating-linear-gradient(90deg, #fff 0 70px, #f5f7fb 70px 71px);
}

.labor-return-bar > strong i {
  position: absolute;
  left: 0;
  bottom: 4px;
  width: var(--w);
  height: 15px;
  border-radius: 3px 3px 0 0;
  background: linear-gradient(180deg, #4b88ed, #225bb4);
}

.labor-return-bar.selected > strong i {
  background: linear-gradient(180deg, #22a06b, #12714c);
}

.labor-return-bar.watch > strong i {
  background: linear-gradient(180deg, #22c7d6, #0f8fb5);
}

.labor-return-bar > strong em {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.labor-return-bar > strong em::before,
.labor-return-bar > strong em::after {
  position: absolute;
  top: 1px;
  bottom: 1px;
  width: 0;
  content: "";
}

.labor-return-bar > strong em::before {
  left: var(--avg);
  border-left: 2px dashed #536273;
}

.labor-return-bar > strong em::after {
  left: var(--target);
  border-left: 2px solid rgba(37, 99, 235, .4);
}

.labor-return-bar > b,
.labor-return-bar small {
  color: #10223d;
  font-size: 12px;
  font-weight: 880;
  text-align: right;
}

.labor-return-bar small {
  color: #64748b;
  font-weight: 780;
  text-transform: capitalize;
}

.labor-chart-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 8px;
  color: #384a63;
  font-size: 11px;
  font-weight: 780;
}

.labor-chart-legend i {
  display: inline-block;
  width: 16px;
  height: 8px;
  margin-right: 6px;
  border-radius: 999px;
  vertical-align: middle;
}

.labor-chart-legend .bar {
  background: var(--labor-blue);
}

.labor-chart-legend .avg {
  height: 2px;
  border-radius: 0;
  background: #536273;
}

.labor-chart-legend .target {
  height: 2px;
  border-radius: 0;
  background: rgba(37, 99, 235, .7);
}

.labor-frontier-grid,
.labor-decision-table {
  display: grid;
  overflow: hidden;
  border: 1px solid #dce5ef;
  border-radius: 8px;
}

.labor-frontier-grid .head,
.labor-frontier-grid button,
.labor-decision-table .head,
.labor-decision-row {
  display: grid;
  gap: 8px;
  align-items: center;
  min-width: 0;
}

.labor-frontier-grid .head,
.labor-frontier-grid button {
  grid-template-columns: 64px minmax(150px, 1fr) 1fr .8fr .8fr;
}

.labor-decision-table .head,
.labor-decision-row {
  grid-template-columns: minmax(150px, 1.18fr) .72fr .72fr .72fr .62fr .72fr .38fr .82fr;
}

.labor-frontier-grid .head,
.labor-decision-table .head {
  background: #10223d;
  color: #fff;
  padding: 9px 11px;
}

.labor-frontier-grid .head span,
.labor-decision-table .head span {
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.labor-frontier-grid button,
.labor-decision-row {
  width: 100%;
  border: 0;
  border-top: 1px solid #e5ebf2;
  background: #fff;
  color: var(--labor-ink);
  padding: 8px 11px;
  cursor: pointer;
  text-align: left;
}

.labor-frontier-grid button > span {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  background: #e7f6ee;
  color: var(--labor-green);
  font-weight: 900;
}

.labor-frontier-grid em,
.labor-frontier-grid b,
.labor-decision-row em,
.labor-decision-row strong,
.labor-decision-row b {
  overflow: hidden;
  color: #12233c;
  font-size: 12px;
  font-style: normal;
  font-weight: 820;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.labor-decision-row b {
  justify-self: start;
  border-radius: 999px;
  background: #e7f6ee;
  color: var(--labor-green);
  padding: 3px 8px;
}

.labor-decision-row.assumption-gap b,
.labor-decision-row.demand-watch b {
  background: #f0fbfd;
  color: #a55b00;
}

.labor-decision-row.blocked b,
.labor-decision-row.monitor b {
  background: #fff0ef;
  color: var(--labor-red);
}

.labor-week-bars {
  display: grid;
  grid-template-columns: repeat(10, minmax(0, 1fr));
  gap: 7px;
}

.labor-week-bars button {
  display: grid;
  gap: 5px;
  border: 1px solid #dce5ef;
  border-radius: 8px;
  background: #fff;
  color: var(--labor-ink);
  padding: 9px;
  cursor: pointer;
  text-align: left;
}

.labor-week-bars button.gap {
  border-color: #f2b3ad;
  background: #fff8f7;
}

.labor-week-bars span {
  font-size: 11px;
  font-weight: 900;
}

.labor-week-bars strong {
  position: relative;
  height: 46px;
  border-bottom: 1px solid #dce5ef;
  background: linear-gradient(180deg, #fbfdff, #f4f7fb);
}

.labor-week-bars strong i,
.labor-week-bars strong b {
  position: absolute;
  left: 8%;
  right: 8%;
  bottom: 4px;
  display: block;
  border-radius: 3px 3px 0 0;
}

.labor-week-bars strong i {
  height: var(--w);
  max-height: 38px;
  background: #dbe5f0;
}

.labor-week-bars strong b {
  height: var(--w);
  max-height: 38px;
  background: rgba(20, 132, 95, .75);
}

.labor-week-bars button.gap strong b {
  background: rgba(207, 47, 40, .75);
}

.labor-week-bars em {
  overflow: hidden;
  color: #64748b;
  font-size: 10.5px;
  font-style: normal;
  font-weight: 760;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.labor-exec-meaning h4,
.labor-exec-actions h4 {
  margin: 0 0 10px;
  color: #10223d;
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
}

.labor-exec-meaning {
  display: grid;
  gap: 8px;
}

.labor-exec-meaning p {
  margin: 0;
  color: #33445c;
  font-size: 12.5px;
  font-weight: 700;
  line-height: 1.34;
}

.labor-exec-meaning b {
  color: #10223d;
}

.labor-exec-actions ol {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.labor-exec-actions li {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr) auto;
  gap: 8px;
  align-items: start;
  counter-increment: labor-action;
}

.labor-exec-actions li::before {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: #e7f6ee;
  color: var(--labor-green);
  content: counter(labor-action);
  font-size: 12px;
  font-weight: 900;
}

.labor-exec-actions b {
  color: #10223d;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.25;
}

.labor-exec-actions em {
  display: block;
  color: #637185;
  font-size: 11px;
  font-style: normal;
  font-weight: 750;
  line-height: 1.25;
}

.labor-exec-actions li button {
  border: 1px solid #b8c8dd;
  border-radius: 6px;
  background: #fff;
  color: #10223d;
  padding: 5px 8px;
  cursor: pointer;
  font-size: 11px;
  font-weight: 850;
}

.labor-exec-actions .btn {
  justify-content: center;
  width: 100%;
  margin-top: 12px;
  background: #0b274b;
}

.labor-capacity-summary > div:last-child {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
}

.labor-capacity-summary button {
  display: grid;
  gap: 4px;
  border: 1px solid #dce5ef;
  border-radius: 8px;
  background: #fff;
  color: var(--labor-ink);
  padding: 10px;
  text-align: left;
  cursor: pointer;
}

.labor-capacity-summary button strong {
  color: #124c9e;
  font-size: 20px;
  font-weight: 920;
}

.labor-capacity-summary button:nth-child(3) strong,
.labor-capacity-summary button:nth-child(4) strong {
  color: var(--labor-red);
}

.labor-capacity-summary button em {
  color: #637185;
  font-size: 10.5px;
  font-style: normal;
  font-weight: 760;
}

.labor-exec-detail {
  display: grid;
  gap: 8px;
}

.labor-exec-detail div span {
  color: #10223d;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.labor-exec-detail strong {
  color: #0f2748;
  font-size: 25px;
  font-weight: 920;
  line-height: 1;
}

.labor-exec-detail p,
.labor-exec-detail em {
  margin: 0;
  color: #526174;
  font-size: 12px;
  font-style: normal;
  font-weight: 730;
  line-height: 1.35;
}

.labor-exec-detail section {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 20px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
}

.labor-exec-detail section b {
  border: 1px solid #dce5ef;
  border-radius: 7px;
  background: #f8fafc;
  padding: 8px;
  color: #10223d;
  font-size: 11px;
  font-weight: 850;
  text-align: center;
}

.labor-exec-detail section i {
  color: #6c7b90;
  font-style: normal;
  font-weight: 900;
  text-align: center;
}

.labor-assumption-strip {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  margin: 0 14px;
  padding: 10px 13px;
  border-color: #9adfec;
  background: #f0fbfd;
}

.labor-assumption-strip strong {
  color: #7a4b05;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.labor-assumption-strip span {
  color: #4b5565;
  font-size: 12px;
  font-weight: 760;
}

.labor-exec-drills {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 0;
  margin: 0 14px 14px;
  overflow: hidden;
}

.labor-exec-drills a {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) 14px;
  grid-template-areas:
    "icon title arrow"
    "icon sub arrow";
  gap: 2px 9px;
  min-width: 0;
  border-left: 1px solid #e6edf5;
  color: var(--labor-ink);
  padding: 11px 12px;
  text-decoration: none;
}

.labor-exec-drills a:first-child {
  border-left: 0;
}

.labor-exec-drills i {
  grid-area: icon;
}

.labor-exec-drills span {
  grid-area: title;
  overflow: hidden;
  color: #10223d;
  font-size: 12px;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.labor-exec-drills em {
  grid-area: sub;
  overflow: hidden;
  color: #637185;
  font-size: 10.5px;
  font-style: normal;
  font-weight: 750;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.labor-exec-drills a::after {
  grid-area: arrow;
  align-self: center;
  color: #7b8aa0;
  content: ">";
  font-size: 16px;
  font-weight: 900;
}

@media (max-width: 1280px) {
  .owner-popup-modal.owner-labor-modal {
    width: calc(100% - 12px);
  }

  .labor-exec-header,
  .labor-exec-main {
    grid-template-columns: 1fr;
  }

  .labor-exec-header label,
  .labor-exec-header > strong {
    justify-self: start;
  }

  .labor-exec-kpis {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .labor-week-bars {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .labor-exec-drills {
    grid-template-columns: repeat(4, minmax(180px, 1fr));
    overflow-x: auto;
  }
}

@media (max-width: 900px) {
  .labor-exec-kpis,
  .labor-capacity-summary > div:last-child,
  .labor-week-bars,
  .labor-assumption-strip {
    grid-template-columns: 1fr;
  }

  .labor-return-bar {
    grid-template-columns: 1fr;
  }

  .labor-frontier-grid,
  .labor-decision-table {
    overflow-x: auto;
  }

  .labor-frontier-grid .head,
  .labor-frontier-grid button,
  .labor-decision-table .head,
  .labor-decision-row {
    min-width: 900px;
  }
}

/* Final owner dashboard polish */
body.owner-dashboard-route .topbar {
  gap: 18px;
  overflow: hidden;
  min-height: 64px;
  padding: 8px 24px;
}

body.owner-dashboard-route .owner-exec-top-controls {
  grid-template-columns: minmax(140px, 176px) minmax(164px, 210px) minmax(480px, 1fr);
  gap: 10px;
  align-items: center;
}

body.owner-dashboard-route .owner-exec-diagnosis {
  grid-template-columns: 42px minmax(0, 1fr) auto;
  gap: 12px;
  padding: 10px 14px;
}

body.owner-dashboard-route .owner-exec-diagnosis > i {
  width: 38px;
  height: 38px;
}

body.owner-dashboard-route .owner-exec-diagnosis strong {
  font-size: 13px;
}

body.owner-dashboard-route .owner-exec-diagnosis span {
  gap: 6px;
  margin-top: 6px;
}

body.owner-dashboard-route .owner-exec-diagnosis b {
  padding: 3px 8px;
  font-size: 10.5px;
}

body.owner-dashboard-route .owner-header-model-change {
  min-width: 0;
  overflow: hidden;
}

body.owner-dashboard-route .owner-header-model-change .owner-plan-shell {
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 8px;
}

body.owner-dashboard-route .owner-header-model-change .owner-plan-title {
  min-width: 0;
}

body.owner-dashboard-route .owner-header-model-change .owner-plan-title span,
body.owner-dashboard-route .owner-header-model-change .owner-plan-picker label span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.owner-dashboard-route .owner-header-model-change .owner-plan-title strong,
body.owner-dashboard-route .owner-header-model-change .owner-plan-picker label em {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.owner-dashboard-route .owner-header-model-change .owner-plan-title span,
body.owner-dashboard-route .owner-header-model-change .owner-plan-title strong {
  overflow: visible;
  text-overflow: clip;
}

body.owner-dashboard-route .owner-header-model-change .owner-plan-picker.owner-scenario-builder {
  grid-template-columns: minmax(54px, .62fr) minmax(64px, .68fr) minmax(68px, .7fr) minmax(78px, .78fr) minmax(86px, .86fr) minmax(74px, auto);
  gap: 5px;
}

body.owner-dashboard-route .owner-header-model-change .owner-plan-picker input,
body.owner-dashboard-route .owner-header-model-change .owner-plan-picker select {
  min-height: 25px;
  padding: 3px 6px;
  font-size: 10.5px;
}

body.owner-dashboard-route .owner-header-model-change .owner-plan-actions .btn {
  min-height: 25px;
  min-width: 76px;
  padding: 3px 8px;
  font-size: 10.5px;
}

body.owner-dashboard-route .owner-exec-kpi-grid {
  grid-template-columns: repeat(8, minmax(118px, 1fr));
  gap: 10px;
}

body.owner-dashboard-route .owner-exec-kpi {
  min-width: 0;
  min-height: 100px;
  max-height: 108px;
  overflow: hidden;
  padding: 9px 10px;
}

body.owner-dashboard-route .owner-exec-kpi strong {
  color: #111;
  font-size: clamp(16px, 1.2vw, 21px);
}

body.owner-dashboard-route .owner-exec-kpi.good strong {
  color: #111;
}

body.owner-dashboard-route .owner-exec-kpi.watch strong {
  color: #075985;
}

body.owner-dashboard-route .owner-exec-kpi.risk strong {
  color: #c43125;
}

body.owner-dashboard-route .owner-exec-main-grid {
  grid-template-columns: minmax(0, 2.35fr) minmax(300px, .9fr);
}

body.owner-dashboard-route .owner-exec-cash-svg {
  height: auto;
  min-height: 282px;
  max-height: 340px;
}

body.owner-dashboard-route .owner-exec-mini-grid,
body.owner-dashboard-route .owner-exec-lower-grid {
  align-items: start;
}

body.owner-dashboard-route .owner-exec-mini-card,
body.owner-dashboard-route .owner-exec-panel {
  min-height: 0;
}

body.owner-dashboard-route .owner-exec-mini-card p {
  margin-top: 8px;
}

body.owner-dashboard-route .owner-exec-labor-foot {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin-top: 8px;
}

body.owner-dashboard-route .owner-exec-labor-foot span {
  display: grid;
  gap: 1px;
  padding: 7px 8px;
  border: 1px solid #e1e8f1;
  border-radius: 7px;
  background: #f8fafc;
  color: #526277;
  font-size: 10px;
  font-weight: 700;
  text-align: center;
}

body.owner-dashboard-route .owner-exec-labor-foot b {
  color: #10233e;
  font-size: 13px;
  font-weight: 820;
}

body.owner-dashboard-route .owner-exec-demand-bars {
  display: grid;
  gap: 4px;
  margin-top: 6px;
}

body.owner-dashboard-route .owner-exec-demand-bars span {
  display: grid;
  grid-template-columns: 95px minmax(0, 1fr) 42px;
  gap: 6px;
  align-items: center;
}

body.owner-dashboard-route .owner-exec-demand-bars b {
  overflow: hidden;
  color: #34445a;
  font-size: 10.5px;
  font-weight: 780;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.owner-dashboard-route .owner-exec-demand-bars i {
  height: 7px;
  border-radius: 999px;
  background: #e8eef5;
  overflow: hidden;
}

body.owner-dashboard-route .owner-exec-demand-bars i::before {
  content: "";
  display: block;
  width: var(--w, 0%);
  height: 100%;
  border-radius: inherit;
  background: #10834d;
}

body.owner-dashboard-route .owner-exec-demand-bars em {
  color: #526277;
  font-size: 10.5px;
  font-style: normal;
  font-weight: 780;
  text-align: right;
}

body.owner-dashboard-route .owner-exec-table .neutral,
body.owner-dashboard-route .owner-exec-priority-list .neutral {
  background: #eef4fb;
  color: #245b9f;
}

body.owner-dashboard-route .owner-exec-chart-canvas {
  position: relative;
}

body.owner-dashboard-route .owner-exec-chart-hotspots {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

body.owner-dashboard-route .owner-exec-chart-hotspot {
  position: absolute;
  left: var(--x);
  top: var(--y);
  width: 26px;
  height: 26px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
  cursor: pointer;
  pointer-events: auto;
  transform: translate(-50%, -50%);
}

body.owner-dashboard-route .owner-exec-chart-hotspot.event {
  width: 32px;
  height: 32px;
}

body.owner-dashboard-route .owner-exec-chart-hotspot:focus-visible {
  outline: 2px solid #1b64d8;
  outline-offset: 2px;
}

body.owner-dashboard-route .sidebar {
  background: linear-gradient(180deg, #071426 0%, #08192a 62%, #05101b 100%);
}

body.owner-dashboard-route .brand-text span {
  color: #cdd827;
}

body.owner-dashboard-route .nav-item {
  display: grid;
  grid-template-columns: 19px minmax(0, 1fr);
  gap: 11px;
  align-items: center;
  min-height: 36px;
  padding-left: 18px;
}

body.owner-dashboard-route .nav-item::before {
  content: "";
  width: 16px;
  height: 16px;
  background: currentColor;
  opacity: .86;
  -webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 5h7v7H4V5zm9 0h7v7h-7V5zM4 14h7v5H4v-5zm9 0h7v5h-7v-5z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 5h7v7H4V5zm9 0h7v7h-7V5zM4 14h7v5H4v-5zm9 0h7v5h-7v-5z'/%3E%3C/svg%3E") center / contain no-repeat;
}

body.owner-dashboard-route .nav-item[data-nav-icon="cash"]::before,
body.owner-dashboard-route .nav-item[data-nav-icon="scenarios"]::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 3a9 9 0 1 0 0 18 9 9 0 0 0 0-18zm1 4v2.1c1.7.3 3 1.2 3 2.7 0 1.7-1.4 2.4-3.7 2.9-1.5.3-2.1.6-2.1 1.3s.7 1.1 1.9 1.1c1.1 0 2-.3 2.7-.9l1.1 1.7c-.7.6-1.7 1-2.9 1.2V21h-2v-1.9c-1.7-.3-3-1.3-3.2-2.8h2.1c.2.7.9 1.1 2.1 1.1 1.3 0 2-.4 2-1.2 0-.7-.5-1-2.2-1.4-2.2-.5-3.6-1.2-3.6-2.9 0-1.4 1.1-2.5 2.8-2.8V7h2z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 3a9 9 0 1 0 0 18 9 9 0 0 0 0-18zm1 4v2.1c1.7.3 3 1.2 3 2.7 0 1.7-1.4 2.4-3.7 2.9-1.5.3-2.1.6-2.1 1.3s.7 1.1 1.9 1.1c1.1 0 2-.3 2.7-.9l1.1 1.7c-.7.6-1.7 1-2.9 1.2V21h-2v-1.9c-1.7-.3-3-1.3-3.2-2.8h2.1c.2.7.9 1.1 2.1 1.1 1.3 0 2-.4 2-1.2 0-.7-.5-1-2.2-1.4-2.2-.5-3.6-1.2-3.6-2.9 0-1.4 1.1-2.5 2.8-2.8V7h2z'/%3E%3C/svg%3E");
}

body.owner-dashboard-route .nav-item[data-nav-icon="inventory"]::before,
body.owner-dashboard-route .nav-item[data-nav-icon="products"]::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 3 4 7v10l8 4 8-4V7l-8-4zm0 2.2L17.8 8 12 10.8 6.2 8 12 5.2zM6 9.7l5 2.5v6.1l-5-2.5V9.7zm12 0v6.1l-5 2.5v-6.1l5-2.5z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 3 4 7v10l8 4 8-4V7l-8-4zm0 2.2L17.8 8 12 10.8 6.2 8 12 5.2zM6 9.7l5 2.5v6.1l-5-2.5V9.7zm12 0v6.1l-5 2.5v-6.1l5-2.5z'/%3E%3C/svg%3E");
}

body.owner-dashboard-route .sidebar-user {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 9px;
  align-items: center;
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid rgba(255, 255, 255, .12);
}

body.owner-dashboard-route .sidebar-user b {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .11);
  color: #fff;
  font-size: 11px;
}

body.owner-dashboard-route .sidebar-user span {
  display: grid;
  gap: 1px;
}

body.owner-dashboard-route .sidebar-user strong {
  color: #fff;
  font-size: 11px;
}

body.owner-dashboard-route .sidebar-user em {
  overflow: hidden;
  color: #9fb0c4;
  font-size: 10px;
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.owner-dashboard-route .owner-exec-cash-svg .high-line,
body.owner-dashboard-route .owner-exec-cash-svg .low-line {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-dasharray: 5 4;
  stroke-width: 1.8;
}

body.owner-dashboard-route .owner-exec-cash-svg .high-line {
  stroke: #10834d;
}

body.owner-dashboard-route .owner-exec-cash-svg .low-line {
  stroke: #d13325;
}

body.owner-dashboard-route .owner-exec-cash-svg .zone-label {
  font-size: 9px;
  font-weight: 850;
}

body.owner-dashboard-route .owner-exec-cash-svg .zone-label.healthy { fill: #10834d; }
body.owner-dashboard-route .owner-exec-cash-svg .zone-label.caution { fill: #b66a00; }
body.owner-dashboard-route .owner-exec-cash-svg .zone-label.shortage { fill: #d13325; }
body.owner-dashboard-route .owner-exec-cash-svg .zone-label.no-reserve { fill: #4b5563; }

body.owner-dashboard-route .owner-exec-cash-svg .event-baseline rect {
  fill: #fff;
  stroke-width: 2;
}

body.owner-dashboard-route .owner-exec-cash-svg .event-baseline text {
  fill: #0d1b2f;
  font-size: 6.4px;
  font-weight: 850;
  text-anchor: middle;
}

body.owner-dashboard-route .owner-exec-cash-svg .event-baseline.inventory rect { stroke: #0f8fb5; fill: #e8f9fd; }
body.owner-dashboard-route .owner-exec-cash-svg .event-baseline.collection rect { stroke: #2f7b51; fill: #f1f7f2; }
body.owner-dashboard-route .owner-exec-cash-svg .event-baseline.payroll rect,
body.owner-dashboard-route .owner-exec-cash-svg .event-baseline.card rect,
body.owner-dashboard-route .owner-exec-cash-svg .event-baseline.ops rect { stroke: #4b5563; fill: #f8fafc; }
body.owner-dashboard-route .owner-exec-cash-svg .event-baseline.funding rect { stroke: #1f5fd0; fill: #f2f6ff; }

body.owner-dashboard-route .owner-exec-chart-legend .high {
  background: repeating-linear-gradient(90deg, #10834d 0 6px, transparent 6px 10px);
}

body.owner-dashboard-route .owner-exec-chart-legend .low {
  background: repeating-linear-gradient(90deg, #d13325 0 6px, transparent 6px 10px);
}

body.owner-dashboard-route .owner-exec-chart-legend .missing {
  height: 9px;
  border: 1px dashed #9aa8bb;
  background: transparent;
}

body.owner-dashboard-route .owner-exec-event-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
  padding: 3px 4px 0;
  color: #334155;
  font-size: 10.5px;
  font-weight: 760;
}

body.owner-dashboard-route .owner-exec-event-legend span {
  display: inline-flex;
  gap: 6px;
  align-items: center;
}

body.owner-dashboard-route .owner-exec-event-legend i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border: 2px solid currentColor;
  border-radius: 999px;
  font-size: 8.5px;
  font-style: normal;
  font-weight: 900;
  line-height: 1;
}

body.owner-dashboard-route .owner-exec-event-legend .payroll,
body.owner-dashboard-route .owner-exec-event-legend .card,
body.owner-dashboard-route .owner-exec-event-legend .ops { color: #4b5563; }
body.owner-dashboard-route .owner-exec-event-legend .inventory { color: #075985; }
body.owner-dashboard-route .owner-exec-event-legend .collection { color: #2f7b51; }
body.owner-dashboard-route .owner-exec-event-legend .funding { color: #1f5fd0; }

body.owner-dashboard-route .owner-exec-flow-graphic {
  display: none;
}

body.owner-dashboard-route .owner-exec-inventory-funnel {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  align-items: end;
}

body.owner-dashboard-route .owner-exec-inventory-funnel span {
  display: grid;
  gap: 3px;
  justify-items: center;
  color: #203048;
  text-align: center;
}

body.owner-dashboard-route .owner-exec-inventory-funnel i {
  width: 82%;
  height: 54px;
  clip-path: polygon(10% 0, 90% 0, 72% 100%, 28% 100%);
  box-shadow: inset 0 -12px 20px rgba(255, 255, 255, .24);
}

body.owner-dashboard-route .owner-exec-inventory-funnel .capital i { background: linear-gradient(180deg, #3c79d8, #285eb1); }
body.owner-dashboard-route .owner-exec-inventory-funnel .buildable i { background: linear-gradient(180deg, #f3a15b, #d96d24); }
body.owner-dashboard-route .owner-exec-inventory-funnel .demand i { background: linear-gradient(180deg, #42aa62, #18834b); }
body.owner-dashboard-route .owner-exec-inventory-funnel .cash i { background: linear-gradient(180deg, #8bd09f, #44a86a); clip-path: circle(42% at 50% 55%); }

body.owner-dashboard-route .owner-exec-inventory-funnel b {
  color: #4c5b70;
  font-size: 9px;
  font-weight: 820;
  text-transform: uppercase;
}

body.owner-dashboard-route .owner-exec-inventory-funnel strong {
  color: #1164c8;
  font-size: 15px;
  font-weight: 850;
}

body.owner-dashboard-route .owner-exec-inventory-funnel em {
  color: #526277;
  font-size: 10.5px;
  font-style: normal;
  font-weight: 700;
}

body.owner-dashboard-route .owner-exec-labor-card .owner-exec-labor-main {
  display: none;
}

body.owner-dashboard-route .owner-exec-labor-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 54px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  margin-bottom: 8px;
}

body.owner-dashboard-route .owner-exec-labor-hero span {
  display: grid;
  gap: 3px;
}

body.owner-dashboard-route .owner-exec-labor-hero b {
  color: #5b687a;
  font-size: 10px;
  font-weight: 820;
  text-transform: uppercase;
}

body.owner-dashboard-route .owner-exec-labor-hero strong {
  color: #0d1b2f;
  font-size: 15px;
  font-weight: 850;
}

body.owner-dashboard-route .owner-exec-cube {
  width: 44px;
  height: 34px;
  justify-self: center;
  background: linear-gradient(145deg, #5d6672, #1f2937);
  clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%);
  box-shadow: 0 10px 16px rgba(15, 23, 42, .16);
}

body.owner-dashboard-route .owner-exec-spark {
  display: block;
  width: 100%;
  height: 24px;
  margin-top: 4px;
}

body.owner-dashboard-route .owner-exec-priority-list {
  gap: 4px;
}

body.owner-dashboard-route .owner-exec-priority-list > span {
  min-height: 0;
  padding-bottom: 3px;
}

body.owner-dashboard-route .owner-exec-priority-list b {
  font-size: 11px;
  line-height: 1.1;
}

body.owner-dashboard-route .owner-exec-priority-list .manaforge-product-thumb.xs {
  width: 18px;
  height: 18px;
  border-radius: 5px;
}

body.owner-dashboard-route .owner-exec-priority-list em {
  padding: 2px 7px;
  font-size: 10px;
}

body.owner-dashboard-route .owner-exec-spark polyline {
  fill: none;
  stroke: #10834d;
  stroke-width: 3;
}

body.owner-dashboard-route .owner-exec-spark circle {
  fill: #10834d;
}

body.owner-dashboard-route .owner-exec-rhythm-grid span em {
  display: block;
  color: #6b7889;
  font-size: 9px;
  font-style: normal;
  font-weight: 650;
}

@media (max-width: 1450px) {
  body.owner-dashboard-route .owner-exec-top-controls {
    grid-template-columns: minmax(150px, .82fr) minmax(180px, 1fr);
  }

  body.owner-dashboard-route .owner-header-model-change {
    grid-column: 1 / -1;
  }

  body.owner-dashboard-route .owner-header-model-change .owner-plan-shell {
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 8px;
  }

  body.owner-dashboard-route .owner-header-model-change .owner-plan-title {
    display: grid;
  }

  body.owner-dashboard-route .owner-exec-kpi-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* Route reliability states */
.route-state {
  max-width: 860px;
  margin: 0 auto;
  padding: 28px;
  border: 1px solid #dededb;
  border-left: 5px solid var(--manaforge-highlight);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(30, 30, 30, .05);
  color: var(--ink);
}

.route-state h2 {
  margin: 4px 0 8px;
  font-size: 22px;
  line-height: 1.2;
}

.route-state p {
  max-width: 720px;
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.45;
}

.route-state ul {
  margin: 14px 0 0;
  padding-left: 20px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}

.route-state-kicker {
  color: #5f645e;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.route-state-context {
  display: inline-flex;
  max-width: 100%;
  margin-top: 14px;
  padding: 6px 9px;
  border: 1px solid #e2e2de;
  border-radius: 999px;
  background: #f7f7f4;
  color: #4e5550;
  font-size: 12px;
  font-weight: 750;
}

.route-state code {
  display: block;
  width: fit-content;
  max-width: 100%;
  margin-top: 14px;
  padding: 7px 9px;
  border: 1px solid #ead4d2;
  border-radius: 6px;
  background: #fff7f6;
  color: #991b1b;
  white-space: normal;
}

.route-state-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 18px;
}

.route-state-loading {
  border-left-color: #0f8fb5;
}

.route-state-empty,
.route-state-not-configured {
  border-left-color: #7c6f00;
}

.route-state-error {
  border-left-color: var(--red);
}

.route-skeleton {
  display: grid;
  gap: 8px;
  margin-top: 20px;
}

.route-skeleton i {
  display: block;
  height: 14px;
  border-radius: 999px;
  background: linear-gradient(90deg, #ecece8 0%, #f8f8f4 46%, #ecece8 100%);
  background-size: 220% 100%;
  animation: route-skeleton-pulse 1.1s linear infinite;
}

.route-skeleton i:nth-child(1) { width: 78%; }
.route-skeleton i:nth-child(2) { width: 92%; }
.route-skeleton i:nth-child(3) { width: 58%; }

@keyframes route-skeleton-pulse {
  from { background-position: 120% 0; }
  to { background-position: -120% 0; }
}

.route-error-banner {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 14px;
  padding: 10px 12px;
  border: 1px solid #f0c6c2;
  border-left: 4px solid var(--red);
  border-radius: 8px;
  background: #fff7f6;
  color: #991b1b;
}

.route-error-banner span {
  flex: 1;
  color: #7f1d1d;
}

.ims-workflow-shell > .route-state {
  max-width: none;
  margin: 0;
}

html[data-theme="dark"] .route-state {
  border-color: #3f3f3d;
  background: #171717;
}

html[data-theme="dark"] .route-state-context {
  border-color: #3f3f3d;
  background: #242422;
  color: #d7d7d2;
}

html[data-theme="dark"] .route-state code,
html[data-theme="dark"] .route-error-banner {
  border-color: #7f2a24;
  background: #261817;
  color: #fecaca;
}

@media (max-width: 760px) {
  .source-route-banner {
    grid-template-columns: 1fr;
  }

  .source-route-back {
    justify-self: start;
  }
}

/* Unified executive Owner Dashboard */
body.owner-dashboard-route .content {
  background: #f3f4f3;
}

body.owner-dashboard-route .topbar {
  min-height: 58px;
  padding: 8px 20px;
  border-bottom: 1px solid #d7d7d2;
  background: #151515;
  color: #fff;
  box-shadow: none;
}

body.owner-dashboard-route .topbar h1 {
  color: #fff;
  font-size: 20px;
  font-weight: 820;
}

body.owner-dashboard-route .topbar {
  min-height: 68px;
  padding: 8px 22px;
}

body.owner-dashboard-route .topbar-actions {
  min-width: 0;
  flex: 1;
}

body.owner-dashboard-route .page-actions {
  flex: 1;
  min-width: 0;
}

.owner-exec-header-compact {
  display: grid;
  grid-template-columns: minmax(150px, 190px) repeat(3, minmax(110px, 150px)) minmax(122px, auto);
  gap: 8px;
  align-items: center;
  width: 100%;
}

.owner-exec-header-compact .owner-exec-top-select,
.owner-exec-header-compact .owner-exec-meta {
  display: grid;
  gap: 2px;
}

.owner-exec-header-compact span,
.owner-exec-header-compact b,
.owner-exec-header-compact label > span {
  color: #c9c9c4;
  font-size: 9px;
  font-weight: 820;
  text-transform: uppercase;
}

.owner-exec-header-compact strong {
  overflow: hidden;
  color: #fff;
  font-size: 12px;
  font-weight: 780;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.owner-exec-header-compact select {
  min-height: 28px;
  border: 1px solid #494945;
  border-radius: 6px;
  background: #242421;
  color: #fff;
  font-size: 12px;
  font-weight: 760;
}

.owner-model-controls-button {
  justify-self: end;
  min-height: 30px;
  border-color: #55554f;
  color: #fff;
}

.owner-model-change-compact {
  justify-self: end;
  max-width: 360px;
  color: #fff;
}

.owner-model-change-compact > summary {
  min-height: 28px;
  padding: 6px 10px;
  border: 1px solid #55554f;
  border-radius: 6px;
  background: #232320;
  color: #fff;
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
}

.owner-model-change-compact[open] {
  position: relative;
  z-index: 30;
}

.owner-model-change-compact[open] .owner-plan-shell {
  position: absolute;
  right: 0;
  top: calc(100% + 6px);
  width: min(720px, 78vw);
  padding: 10px;
  border: 1px solid #d7d7d2;
  border-radius: 8px;
  background: #fff;
  color: #111;
  box-shadow: 0 18px 42px rgba(0, 0, 0, .18);
}

.owner-model-change-compact[open] .owner-plan-shell span,
.owner-model-change-compact[open] .owner-plan-shell b,
.owner-model-change-compact[open] .owner-plan-shell strong,
.owner-model-change-compact[open] .owner-plan-shell em {
  color: inherit;
  font-size: revert;
  text-transform: none;
}

.owner-exec-dashboard.owner-exec-unified {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 10px;
  padding: 10px;
  color: #171717;
}

.owner-exec-unified > * {
  grid-column: 1 / -1;
}

.owner-exec-unified .owner-exec-diagnosis,
.owner-exec-unified .owner-exec-kpi,
.owner-exec-unified .owner-exec-panel,
.owner-exec-unified .owner-exec-actions-panel {
  border: 1px solid #d7d7d2;
  border-radius: 8px;
  background: #fff;
  box-shadow: none;
}

.owner-exec-unified .owner-exec-diagnosis {
  grid-template-columns: 38px minmax(0, 1fr) auto;
  align-items: center;
  min-height: 70px;
  padding: 10px 12px;
  border-left: 4px solid #22d3ee;
}

.owner-exec-unified .owner-exec-diagnosis > i {
  width: 34px;
  height: 34px;
  border-color: #d7d7d2;
  background: #f4f4f1;
}

.owner-exec-unified .owner-exec-diagnosis strong {
  color: #151515;
  font-size: 13px;
}

.owner-exec-unified .owner-exec-diagnosis b {
  border-color: #d7d7d2;
  background: #f7f7f5;
  color: #2e2e2b;
}

.owner-exec-unified .owner-exec-diagnosis button {
  min-height: 30px;
  border-color: #c8c8c1;
  background: #fff;
  color: #151515;
}

.owner-exec-unified .owner-exec-kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.owner-exec-unified .owner-exec-kpi {
  min-height: 112px;
  padding: 12px 13px;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-areas:
    "label"
    "value"
    "note"
    "delta";
  gap: 3px;
  cursor: pointer;
}

.owner-exec-unified .owner-exec-kpi span {
  color: #4b4b46;
  font-size: 10px;
  font-weight: 860;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.owner-exec-unified .owner-exec-kpi strong {
  color: #111;
  font-size: 22px;
  font-weight: 850;
  line-height: 1.08;
}

.owner-exec-unified .owner-exec-kpi em {
  color: #5d5d57;
  font-size: 11px;
  font-style: normal;
  font-weight: 650;
  line-height: 1.25;
}

.owner-exec-unified .owner-exec-kpi b {
  color: #62625c;
  font-size: 10.5px;
  font-weight: 800;
}

.owner-exec-unified .owner-exec-kpi.good,
.owner-exec-unified .owner-exec-kpi.watch,
.owner-exec-unified .owner-exec-kpi.risk {
  border-left-width: 3px;
}

.owner-exec-unified .owner-exec-kpi.good { border-left-color: #16834b; }
.owner-exec-unified .owner-exec-kpi.watch { border-left-color: #0f8fb5; }
.owner-exec-unified .owner-exec-kpi.risk { border-left-color: #c83a2e; }
.owner-exec-unified .owner-exec-kpi.decision {
  border-left: 4px solid #22d3ee;
  background: linear-gradient(180deg, #fff, #f0fbfd);
}

.owner-exec-unified .owner-exec-kpi.watch strong,
.owner-exec-unified .owner-exec-kpi.risk strong,
.owner-exec-unified .owner-exec-kpi.good strong {
  color: #111;
}

.owner-exec-unified .owner-exec-main-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 356px);
  gap: 12px;
  align-items: stretch;
}

.owner-exec-unified .owner-exec-panel {
  padding: 10px;
}

.owner-operating-graph .owner-exec-panel-head {
  margin-bottom: 4px;
}

.owner-operating-graph .owner-exec-panel-head span,
.owner-product-priority-strip .owner-exec-panel-head span,
.owner-decision-panel h3 {
  color: #161616;
  font-size: 12px;
  font-weight: 860;
  text-transform: uppercase;
}

.owner-operating-graph .owner-exec-panel-head strong,
.owner-product-priority-strip .owner-exec-panel-head strong {
  color: #62625c;
  font-size: 11px;
  font-weight: 650;
}

.owner-exec-unified .owner-exec-chart-stats span {
  border-color: #d7d7d2;
  background: #fafaf8;
  color: #4b4b46;
}

.owner-exec-unified .owner-exec-chart-stats b {
  color: #111;
}

.owner-operating-svg {
  display: block;
  width: 100%;
  min-height: 500px;
  max-height: 540px;
  aspect-ratio: 1140 / 540;
}

.owner-exec-chart-canvas {
  position: relative;
  min-height: 500px;
}

.owner-operating-svg .forecast-band {
  fill: rgba(80, 108, 132, .16);
  stroke: none;
}

.owner-operating-svg .forecast-line {
  stroke: #315f88;
}

.owner-operating-svg .low-line {
  stroke: #c83a2e;
  stroke-dasharray: 5 6;
  stroke-width: 1.7;
}

.owner-operating-svg .reserve {
  stroke: #b6861f;
}

.owner-operating-svg .zone.healthy { fill: rgba(22, 131, 75, .06); }
.owner-operating-svg .zone.caution { fill: rgba(214, 181, 54, .14); }
.owner-operating-svg .zone.shortage { fill: rgba(200, 58, 46, .08); }

.owner-exec-event-dot line {
  stroke: #9b9b93;
  stroke-width: 1;
}

.owner-exec-event-dot circle {
  fill: #fff;
  stroke: #262622;
  stroke-width: 1.6;
}

.owner-exec-event-dot path,
.owner-exec-event-dot rect {
  fill: #fff;
  stroke: #262622;
  stroke-width: 1.7;
  vector-effect: non-scaling-stroke;
}

.owner-exec-event-dot .inner {
  fill: none;
  stroke-width: 1.9;
}

.owner-exec-event-dot text {
  fill: #111;
  font-size: 9px;
  font-weight: 880;
  text-anchor: middle;
  pointer-events: none;
}

.owner-exec-event-dot.collection circle { stroke: #16834b; }
.owner-exec-event-dot.collection path { stroke: #16834b; fill: #f3faf5; }
.owner-exec-event-dot.inventory circle,
.owner-exec-event-dot.inventory path,
.owner-exec-event-dot.build circle,
.owner-exec-event-dot.build path { stroke: #0f8fb5; fill: #f0fbfd; }
.owner-exec-event-dot.payroll circle,
.owner-exec-event-dot.payroll rect,
.owner-exec-event-dot.debt-tax circle { stroke: #52524c; }
.owner-exec-event-dot.funding circle { stroke: #2d63b8; }
.owner-exec-event-dot.sale circle { stroke: #16834b; fill: #f3faf5; }

.owner-exec-event-dot.obligation path {
  stroke: #52524c;
  fill: #f8f8f6;
}

.owner-exec-unified .owner-exec-chart-hotspot.event {
  width: 24px;
  height: 24px;
}

.owner-exec-unified .owner-exec-chart-legend {
  gap: 10px;
  padding-top: 2px;
  color: #44443f;
}

.owner-exec-unified .owner-exec-chart-legend em {
  color: #62625c;
}

.owner-decision-panel {
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 12px;
  min-height: 100%;
  padding: 12px;
  align-content: stretch;
}

.owner-decision-panel ul {
  gap: 6px;
}

.owner-decision-panel li {
  color: #373733;
}

.owner-decision-primary article {
  display: grid;
  gap: 9px;
  padding: 12px;
  border: 1px solid #99f6e4;
  border-radius: 8px;
  background: #f0fbfd;
}

.owner-decision-primary article > span,
.owner-decision-primary dt {
  color: #666057;
  font-size: 10px;
  font-weight: 850;
  text-transform: uppercase;
}

.owner-decision-primary article > strong {
  color: #111;
  font-size: 20px;
  font-weight: 860;
  line-height: 1.12;
}

.owner-decision-primary p {
  margin: 0;
  color: #4d4d47;
  font-size: 12px;
  line-height: 1.35;
}

.owner-decision-primary dl {
  display: grid;
  gap: 6px;
  margin: 0;
}

.owner-decision-primary dl div {
  display: grid;
  grid-template-columns: 94px minmax(0, 1fr);
  gap: 8px;
  align-items: baseline;
}

.owner-decision-primary dd {
  min-width: 0;
  margin: 0;
  color: #1c1c19;
  font-size: 11px;
  font-weight: 760;
  line-height: 1.25;
}

.owner-decision-panel .owner-decision-primary .btn {
  width: 100%;
  min-height: 32px;
  background: #151515;
}

.owner-decision-alternatives > div {
  display: grid;
  gap: 7px;
}

.owner-decision-alternatives > div > button {
  display: grid;
  gap: 3px;
  width: 100%;
  padding: 8px 9px;
  border: 1px solid #d7d7d2;
  border-radius: 7px;
  background: #fff;
  color: #171717;
  text-align: left;
  cursor: pointer;
}

.owner-decision-alternatives > div > button:hover,
.owner-decision-alternatives > div > button:focus-visible {
  border-color: #151515;
  outline: none;
  box-shadow: 0 0 0 3px rgba(21, 21, 21, .08);
}

.owner-decision-alternatives b {
  color: #111;
  font-size: 12px;
  font-weight: 820;
}

.owner-decision-alternatives span {
  color: #5d5d57;
  font-size: 11px;
  font-weight: 650;
}

.owner-decision-alternatives .btn {
  width: 100%;
  margin-top: 8px;
}

.owner-view-all-actions {
  justify-self: start;
  margin-top: 2px;
  color: #373733;
  font-size: 11px;
  font-weight: 800;
}

.owner-product-priority-strip {
  padding: 10px;
}

.owner-product-priority-grid {
  display: grid;
  border: 1px solid #d7d7d2;
  border-radius: 8px;
  overflow: hidden;
}

.owner-product-priority-grid .head,
.owner-product-priority-row {
  display: grid;
  grid-template-columns: 1.25fr .78fr .55fr .72fr .72fr .9fr;
  align-items: center;
}

.owner-product-priority-grid .head {
  background: #171717;
  color: #fff;
}

.owner-product-priority-grid .head span,
.owner-product-priority-row > * {
  min-width: 0;
  padding: 7px 9px;
  border-right: 1px solid #e7e7e4;
  color: inherit;
  font-size: 11px;
}

.owner-product-priority-grid .head span {
  border-color: #30302c;
  font-weight: 850;
  text-transform: uppercase;
}

.owner-product-priority-row {
  width: 100%;
  border: 0;
  border-top: 1px solid #ededeb;
  background: #fff;
  color: #171717;
  text-align: left;
  cursor: pointer;
}

.owner-product-priority-row:hover,
.owner-product-priority-row:focus-visible {
  background: #f0fbfd;
  outline: none;
}

.owner-product-priority-row span:first-child {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-weight: 840;
}

.owner-product-priority-row strong {
  font-weight: 780;
}

.owner-product-priority-row em {
  justify-self: start;
  padding: 3px 8px;
  border-radius: 999px;
  background: #f1f1ee;
  color: #343430;
  font-style: normal;
  font-weight: 820;
}

.owner-product-priority-row.good em { background: #eaf7ef; color: #16834b; }
.owner-product-priority-row.watch em { background: #e0f7ff; color: #075985; }
.owner-product-priority-row.reduce em { background: #fff0e8; color: #bf4f12; }
.owner-product-priority-row.risk em { background: #fff0ee; color: #c83a2e; }

body.owner-dashboard-route .owner-exec-top-controls.owner-exec-header-compact {
  grid-template-columns: minmax(150px, 190px) repeat(3, minmax(110px, 150px)) minmax(122px, auto);
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi {
  min-height: 112px;
  max-height: none;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi strong,
body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi.good strong,
body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi.watch strong,
body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi.risk strong {
  color: #111;
  font-size: 22px;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-main-grid {
  grid-template-columns: minmax(0, 1fr) minmax(320px, 356px);
}

body.owner-dashboard-route .owner-operating-graph .owner-exec-cash-svg.owner-operating-svg {
  height: auto;
  min-height: 500px;
  max-height: 540px;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-chart-canvas {
  min-height: 500px;
}

.owner-executive-modal,
.owner-week-story-modal,
.owner-event-modal,
.owner-product-decision-modal,
.owner-decision-modal {
  width: min(1040px, calc(100vw - 36px));
}

.owner-exec-popup-hero {
  display: grid;
  gap: 5px;
  margin-bottom: 12px;
  padding: 12px;
  border: 1px solid #d7d7d2;
  border-left: 4px solid #22d3ee;
  border-radius: 8px;
  background: #f0fbfd;
}

.owner-exec-popup-hero span {
  color: #55554f;
  font-size: 10px;
  font-weight: 860;
  text-transform: uppercase;
}

.owner-exec-popup-hero strong {
  color: #111;
  font-size: 22px;
  font-weight: 860;
}

.owner-exec-popup-hero em {
  color: #55554f;
  font-size: 12px;
  font-style: normal;
  font-weight: 650;
}

.owner-exec-proof-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 10px;
}

.owner-exec-proof-grid span {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 9px;
  border: 1px solid #deded8;
  border-radius: 7px;
  background: #fff;
}

.owner-exec-proof-grid b {
  color: #62625c;
  font-size: 10px;
  font-weight: 850;
  text-transform: uppercase;
}

.owner-exec-proof-grid strong {
  color: #111;
  font-size: 15px;
  font-weight: 840;
}

.owner-exec-proof-grid em {
  color: #60605a;
  font-size: 11px;
  font-style: normal;
  font-weight: 640;
}

.owner-exec-popup-table {
  display: grid;
  margin-bottom: 10px;
  border: 1px solid #deded8;
  border-radius: 8px;
  overflow: auto;
}

.owner-exec-popup-table .head,
.owner-exec-popup-table > div:not(.head) {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(118px, 1fr));
}

.owner-exec-popup-table .head {
  background: #171717;
  color: #fff;
}

.owner-exec-popup-table span {
  min-width: 0;
  padding: 7px 8px;
  border-right: 1px solid #ecece8;
  border-bottom: 1px solid #ecece8;
  color: inherit;
  font-size: 11px;
}

.owner-exec-popup-table .head span {
  border-color: #30302c;
  font-weight: 850;
  text-transform: uppercase;
}

.owner-popup-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.owner-exec-mini-path {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(96px, 1fr));
  gap: 6px;
  margin: 0 0 10px;
}

.owner-exec-mini-path span {
  display: grid;
  gap: 3px;
  padding: 7px;
  border: 1px solid #deded8;
  border-radius: 7px;
  background: #fff;
}

.owner-exec-mini-path i {
  display: block;
  width: var(--w, 0%);
  height: 5px;
  border-radius: 999px;
  background: #222;
}

.owner-exec-mini-path .risk i {
  background: #c83a2e;
}

.owner-exec-conversion-flow {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  align-items: center;
  margin-bottom: 10px;
}

.owner-exec-conversion-flow span {
  padding: 9px;
  border: 1px solid #deded8;
  border-radius: 7px;
  background: #fff;
  color: #111;
  font-size: 11px;
  font-weight: 840;
  text-align: center;
}

.owner-exec-diagnosis-proof {
  display: grid;
  gap: 8px;
  margin-bottom: 10px;
}

.owner-exec-diagnosis-proof section {
  padding: 9px;
  border: 1px solid #deded8;
  border-radius: 7px;
  background: #fff;
}

.owner-exec-diagnosis-proof b {
  color: #111;
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
}

.owner-exec-diagnosis-proof p {
  margin: 4px 0 0;
  color: #4c4c47;
  font-size: 12px;
  line-height: 1.4;
}

.owner-popup-tablist {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 10px;
}

.owner-popup-tablist button {
  min-height: 28px;
  padding: 5px 10px;
  border: 1px solid #d7d7d2;
  border-radius: 7px;
  background: #fff;
  color: #343430;
  font-size: 11px;
  font-weight: 820;
  cursor: pointer;
}

.owner-popup-tablist button.active {
  border-color: #151515;
  background: #151515;
  color: #fff;
}

.owner-popup-tabpanels > section {
  display: none;
}

.owner-popup-tabpanels > section.active {
  display: block;
}

.owner-popup-tabpanels h4 {
  margin: 0 0 8px;
  color: #111;
  font-size: 13px;
  font-weight: 850;
}

.owner-executive-modal,
.owner-decision-modal {
  width: min(1180px, calc(100vw - 34px));
}

.owner-popup-workspace {
  display: grid;
  gap: 14px;
  color: #151515;
}

.owner-popup-conclusion {
  display: grid;
  gap: 5px;
  padding: 0 0 12px;
  border-bottom: 1px solid #deded8;
}

.owner-popup-conclusion span {
  color: #62625c;
  font-size: 11px;
  font-weight: 860;
  text-transform: uppercase;
}

.owner-popup-conclusion strong {
  color: #111;
  font-size: 24px;
  font-weight: 880;
  line-height: 1.12;
}

.owner-popup-conclusion p {
  max-width: 900px;
  margin: 0;
  color: #3e3e39;
  font-size: 13px;
  line-height: 1.4;
}

.owner-popup-conclusion em {
  color: #696961;
  font-size: 11px;
  font-style: normal;
  font-weight: 720;
}

.owner-popup-footer {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding-top: 4px;
  border-top: 1px solid #ededeb;
}

.owner-popup-calc {
  display: grid;
  gap: 6px;
  padding: 10px 12px;
  border-left: 3px solid #22d3ee;
  background: #fafaf8;
}

.owner-popup-calc b,
.owner-popup-secondary summary,
.owner-bottleneck-panel h4,
.owner-conversion-matrix h4,
.owner-action-rank h4,
.owner-scenario-controls h4,
.owner-alt-comparison h4,
.owner-capacity-quality h4,
.owner-basis-quality h4 {
  color: #22221f;
  font-size: 11px;
  font-weight: 860;
  text-transform: uppercase;
}

.owner-popup-calc code {
  color: #111;
  font-family: inherit;
  font-size: 13px;
  font-weight: 820;
}

.owner-popup-calc p,
.owner-popup-secondary p {
  margin: 0;
  color: #52524c;
  font-size: 12px;
  line-height: 1.35;
}

.owner-popup-secondary {
  padding: 9px 0;
  border-top: 1px solid #ededeb;
}

.owner-popup-secondary p {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 5px 0;
  border-bottom: 1px solid #f0f0ed;
}

.owner-popup-select-panel[hidden] {
  display: none !important;
}

.owner-runway-layout {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(260px, 1fr);
  gap: 14px;
  align-items: stretch;
}

.owner-runway-chart-card,
.owner-runway-explain,
.owner-cash-bridge-panel,
.owner-stage-detail,
.owner-demand-trend,
.owner-mix-drill,
.owner-capacity-week-detail,
.owner-driver-detail {
  border: 1px solid #deded8;
  border-radius: 8px;
  background: #fff;
}

.owner-runway-chart-wrap {
  position: relative;
  min-height: 300px;
}

.owner-runway-chart {
  display: block;
  width: 100%;
  min-height: 300px;
}

.owner-runway-chart .runway-zone.safe { fill: rgba(22, 131, 75, .05); }
.owner-runway-chart .runway-zone.cushion { fill: rgba(214, 181, 54, .12); }
.owner-runway-chart .runway-zone.shortage { fill: rgba(200, 58, 46, .08); }
.owner-runway-chart .threshold { stroke: #22d3ee; stroke-width: 2; }
.owner-runway-chart .zero { stroke: #c83a2e; stroke-width: 1.4; stroke-dasharray: 4 5; }
.owner-runway-chart .actual { fill: none; stroke: #111; stroke-width: 3; }
.owner-runway-chart .forecast { fill: none; stroke: #2d63b8; stroke-width: 2.4; }
.owner-runway-chart circle { fill: #fff; stroke: #111; stroke-width: 1.5; }
.owner-runway-chart circle.risk { stroke: #c83a2e; }
.owner-runway-chart circle.selected { fill: #22d3ee; stroke: #111; }
.owner-runway-chart text { fill: #4f4f49; font-size: 12px; font-weight: 760; }
.owner-runway-chart .callout.risk { fill: #075985; }
.owner-runway-chart .callout.danger { fill: #c83a2e; }

.owner-runway-hotspots {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.owner-runway-hotspots button {
  position: absolute;
  left: var(--x);
  top: var(--y);
  width: 24px;
  height: 24px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  transform: translate(-50%, -50%);
  pointer-events: auto;
  cursor: pointer;
}

.owner-runway-hotspots button.active,
.owner-runway-hotspots button:focus-visible {
  outline: 2px solid #151515;
  outline-offset: 2px;
}

.owner-runway-explain {
  display: grid;
  gap: 0;
}

.owner-runway-explain section {
  display: grid;
  gap: 4px;
  padding: 10px 12px;
  border-bottom: 1px solid #ededeb;
}

.owner-runway-explain section:last-child {
  border-bottom: 0;
}

.owner-runway-explain b,
.owner-cash-bridge-panel header span {
  color: #62625c;
  font-size: 10px;
  font-weight: 860;
  text-transform: uppercase;
}

.owner-runway-explain p {
  margin: 0;
  color: #4f4f49;
  font-size: 12px;
}

.owner-runway-explain strong,
.owner-runway-explain .risk {
  color: #111;
  font-weight: 830;
}

.owner-runway-explain .risk {
  color: #c83a2e;
}

.owner-cash-bridge-panel {
  display: grid;
  gap: 10px;
  padding: 12px;
}

.owner-cash-bridge-panel header {
  display: flex;
  align-items: baseline;
  gap: 10px;
}

.owner-cash-bridge-panel header strong {
  color: #111;
  font-size: 18px;
  font-weight: 860;
}

.owner-cash-bridge-panel header em {
  color: #696961;
  font-size: 12px;
  font-style: normal;
}

.owner-cash-waterfall {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(86px, 1fr));
  gap: 6px;
  align-items: end;
}

.owner-cash-waterfall span {
  display: grid;
  gap: 4px;
  min-height: 92px;
  align-content: end;
}

.owner-cash-waterfall b {
  color: #55554f;
  font-size: 10px;
  font-weight: 780;
}

.owner-cash-waterfall i {
  display: block;
  width: 100%;
  height: max(8px, var(--w));
  border-radius: 5px 5px 0 0;
  background: #262622;
}

.owner-cash-waterfall .good i { background: #16834b; }
.owner-cash-waterfall .out i { background: #6b6b64; }
.owner-cash-waterfall .threshold i { background: #b6861f; }
.owner-cash-waterfall .risk i { background: #c83a2e; }
.owner-cash-waterfall .total i { background: #315f88; }
.owner-cash-waterfall strong {
  color: #111;
  font-size: 12px;
  font-weight: 820;
}

.owner-week-operating-context {
  display: grid;
  gap: 9px;
  padding: 10px 12px;
  border: 1px solid #deded8;
  border-radius: 8px;
  background: #fff;
}

.owner-week-operating-context header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

.owner-week-operating-context header b {
  color: #22221f;
  font-size: 11px;
  font-weight: 860;
  text-transform: uppercase;
}

.owner-week-operating-context header span {
  color: #696961;
  font-size: 12px;
  font-weight: 680;
}

.owner-week-operating-context > div {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 6px;
}

.owner-week-operating-context > div span {
  display: grid;
  gap: 3px;
  min-height: 54px;
  padding: 8px;
  border-left: 2px solid #d7d7d2;
  background: #fafaf8;
}

.owner-week-operating-context > div b {
  color: #66665f;
  font-size: 9.5px;
  font-weight: 800;
  text-transform: uppercase;
}

.owner-week-operating-context > div strong {
  color: #111;
  font-size: 13px;
  font-weight: 840;
}

.owner-conversion-pipeline {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 7px;
  align-items: stretch;
}

.owner-conversion-pipeline button {
  position: relative;
  display: grid;
  gap: 4px;
  min-height: 128px;
  padding: 10px;
  border: 1px solid #deded8;
  border-radius: 8px;
  background: #fff;
  color: #111;
  text-align: left;
  cursor: pointer;
  overflow: hidden;
}

.owner-conversion-pipeline button::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: var(--stage);
  height: 5px;
  background: #22d3ee;
}

.owner-conversion-pipeline button.active,
.owner-conversion-pipeline button:focus-visible,
.owner-conversion-matrix button.active,
.owner-demand-range-chart button.active,
.owner-alt-comparison button.active,
.owner-capacity-calendar button.active {
  border-color: #151515;
  outline: none;
  box-shadow: 0 0 0 3px rgba(21, 21, 21, .08);
}

.owner-conversion-pipeline span,
.owner-demand-range-chart header span,
.owner-mix-bars header span,
.owner-return-frontier header span {
  color: #62625c;
  font-size: 10px;
  font-weight: 860;
  text-transform: uppercase;
}

.owner-conversion-pipeline strong {
  color: #111;
  font-size: 20px;
  font-weight: 860;
}

.owner-conversion-pipeline em,
.owner-conversion-pipeline i {
  color: #5d5d57;
  font-size: 11px;
  font-style: normal;
  font-weight: 650;
}

.owner-stage-detail {
  padding: 10px 12px;
}

.owner-stage-detail b,
.owner-demand-trend b,
.owner-mix-drill b,
.owner-capacity-week-detail b,
.owner-driver-detail b {
  color: #111;
  font-size: 14px;
  font-weight: 850;
}

.owner-stage-detail p,
.owner-mix-drill p,
.owner-capacity-week-detail p,
.owner-driver-detail p {
  margin: 5px 0 0;
  color: #4f4f49;
  font-size: 12px;
  line-height: 1.35;
}

.owner-bottleneck-panel,
.owner-conversion-matrix,
.owner-demand-exposure,
.owner-action-rank,
.owner-scenario-controls,
.owner-basis-quality,
.owner-capacity-quality,
.owner-alt-comparison,
.owner-diagnosis-support {
  display: grid;
  gap: 8px;
}

.owner-bottleneck-panel article,
.owner-action-rank article,
.owner-diagnosis-support article {
  display: grid;
  grid-template-columns: minmax(130px, .8fr) auto minmax(110px, .8fr) minmax(180px, 1fr);
  gap: 10px;
  align-items: center;
  padding: 8px 0;
  border-bottom: 1px solid #ededeb;
}

.owner-bottleneck-panel strong {
  color: #111;
  font-size: 14px;
  font-weight: 840;
}

.owner-bottleneck-panel span,
.owner-bottleneck-panel em,
.owner-action-rank span,
.owner-action-rank em {
  color: #5d5d57;
  font-size: 12px;
  font-style: normal;
}

.owner-conversion-matrix button {
  display: grid;
  grid-template-columns: minmax(138px, 1.1fr) repeat(4, minmax(74px, .7fr)) minmax(92px, .8fr);
  gap: 8px;
  align-items: center;
  width: 100%;
  padding: 8px;
  border: 1px solid #deded8;
  border-radius: 7px;
  background: #fff;
  color: #111;
  text-align: left;
  cursor: pointer;
}

.owner-conversion-matrix em {
  justify-self: start;
  padding: 3px 8px;
  border-radius: 999px;
  background: #f1f1ee;
  color: #343430;
  font-style: normal;
  font-weight: 800;
}

.owner-scenario-controls {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.owner-scenario-controls h4 {
  grid-column: 1 / -1;
}

.owner-scenario-controls button {
  display: grid;
  gap: 4px;
  min-height: 74px;
  padding: 9px;
  border: 1px solid #deded8;
  border-radius: 8px;
  background: #fff;
  color: #111;
  font-weight: 820;
  text-align: left;
  cursor: pointer;
}

.owner-scenario-controls span {
  color: #6a6a62;
  font-size: 11px;
  font-weight: 620;
}

.owner-demand-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(270px, .85fr);
  gap: 14px;
}

.owner-demand-range-chart {
  display: grid;
  gap: 7px;
}

.owner-demand-range-chart header,
.owner-return-frontier header,
.owner-mix-bars header {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}

.owner-demand-range-chart button {
  display: grid;
  grid-template-columns: minmax(138px, .95fr) minmax(0, 1.6fr) 78px 100px;
  gap: 10px;
  align-items: center;
  padding: 7px 8px;
  border: 1px solid #deded8;
  border-radius: 7px;
  background: #fff;
  color: #111;
  text-align: left;
  cursor: pointer;
}

.owner-demand-range-chart .range {
  position: relative;
  display: block;
  height: 16px;
  border-radius: 999px;
  background: #eeeeea;
}

.owner-demand-range-chart .range i {
  position: absolute;
  left: var(--low);
  width: calc(var(--high) - var(--low));
  height: 100%;
  border-radius: 999px;
  background: rgba(214, 181, 54, .35);
}

.owner-demand-range-chart .range em {
  position: absolute;
  left: var(--x);
  top: -3px;
  width: 22px;
  height: 22px;
  border: 2px solid #111;
  border-radius: 999px;
  background: #fff;
  transform: translateX(-50%);
}

.owner-demand-range-chart small {
  color: #666660;
  font-size: 11px;
  font-weight: 700;
}

.owner-demand-trend {
  padding: 12px;
}

.owner-demand-trend-bars {
  display: grid;
  gap: 8px;
  margin: 10px 0;
}

.owner-demand-trend-bars span,
.owner-demand-exposure article {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
}

.owner-demand-trend-bars i,
.owner-demand-exposure i {
  display: block;
  width: var(--w);
  height: 8px;
  border-radius: 999px;
  background: #2d63b8;
}

.owner-demand-exposure {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.owner-demand-exposure article {
  grid-template-columns: 1fr;
  padding: 9px;
  border: 1px solid #deded8;
  border-radius: 8px;
  background: #fff;
}

.owner-demand-exposure strong {
  color: #111;
  font-size: 17px;
}

.owner-mix-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, .88fr);
  gap: 14px;
}

.owner-mix-bars {
  display: grid;
  gap: 10px;
}

.owner-mix-bars article {
  display: grid;
  gap: 8px;
  padding: 11px;
  border: 1px solid #deded8;
  border-radius: 8px;
  background: #fff;
}

.owner-mix-bars article > div {
  display: flex;
  min-height: 68px;
  border-radius: 7px;
  overflow: hidden;
}

.owner-mix-bars button {
  display: grid;
  place-content: center;
  min-width: var(--w);
  border: 0;
  border-right: 1px solid rgba(255,255,255,.7);
  background: #2f3337;
  color: #fff;
  text-align: center;
  cursor: pointer;
}

.owner-mix-bars button.watch { background: #8a7130; }
.owner-mix-bars button.good { background: #236646; }
.owner-mix-bars button.risk { background: #8d332e; }
.owner-mix-bars button.reduce { background: #8f5631; }

.owner-mix-bars b {
  font-size: 11px;
}

.owner-mix-bars span {
  font-size: 10px;
}

.owner-return-frontier {
  position: relative;
  min-height: 290px;
  padding: 12px;
  border: 1px solid #deded8;
  border-radius: 8px;
  background:
    linear-gradient(90deg, transparent 49.5%, #ededeb 49.5%, #ededeb 50.5%, transparent 50.5%),
    linear-gradient(0deg, transparent 49.5%, #ededeb 49.5%, #ededeb 50.5%, transparent 50.5%),
    #fff;
}

.owner-return-frontier button {
  position: absolute;
  left: var(--x);
  top: var(--y);
  width: var(--s);
  height: var(--s);
  border: 2px solid #111;
  border-radius: 999px;
  background: #fff;
  cursor: pointer;
  transform: translate(-50%, -50%);
}

.owner-return-frontier button span {
  position: absolute;
  left: 50%;
  top: calc(100% + 3px);
  width: 86px;
  color: #44443f;
  font-size: 10px;
  font-weight: 720;
  transform: translateX(-50%);
}

.owner-return-frontier em {
  position: absolute;
  color: #77776f;
  font-size: 10px;
  font-style: normal;
  font-weight: 800;
  text-transform: uppercase;
}

.owner-return-frontier .q1 { left: 14px; top: 44px; }
.owner-return-frontier .q2 { right: 14px; top: 44px; }
.owner-return-frontier .q3 { left: 14px; bottom: 12px; }
.owner-return-frontier .q4 { right: 14px; bottom: 12px; }

.owner-mix-drill,
.owner-capacity-week-detail,
.owner-driver-detail {
  padding: 12px;
}

.owner-basis-quality {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.owner-basis-quality span {
  display: grid;
  gap: 3px;
  padding: 8px;
  border: 1px solid #deded8;
  border-radius: 7px;
  background: #fff;
}

.owner-basis-quality .missing {
  border-color: #e5b8af;
}

.owner-capacity-calendar {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.owner-capacity-calendar button {
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid #deded8;
  border-radius: 8px;
  background: #fff;
  color: #111;
  text-align: left;
  cursor: pointer;
}

.owner-capacity-calendar .stack {
  position: relative;
  display: flex;
  height: 42px;
  border-radius: 7px;
  background: #eeeeea;
  overflow: hidden;
}

.owner-capacity-calendar i {
  display: block;
  width: var(--w);
  height: 100%;
}

.owner-capacity-calendar .required { background: #2d63b8; }
.owner-capacity-calendar .setup { background: #6f7f8f; }
.owner-capacity-calendar .rework { background: #9a9a91; }
.owner-capacity-calendar .unused { background: #d9d9d4; }
.owner-capacity-calendar .gap { background: #c83a2e; }

.owner-cap-product-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
  margin-top: 10px;
}

.owner-cap-product-row span {
  display: grid;
  gap: 3px;
  padding: 8px;
  border: 1px solid #ededeb;
  border-radius: 7px;
}

.owner-decision-scorecard {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.owner-decision-scorecard article {
  display: grid;
  gap: 6px;
  min-height: 150px;
  padding: 12px;
  border: 1px solid #deded8;
  border-top: 3px solid #22d3ee;
  border-radius: 8px;
  background: #fff;
}

.owner-decision-scorecard span {
  color: #62625c;
  font-size: 10px;
  font-weight: 860;
  text-transform: uppercase;
}

.owner-decision-scorecard strong {
  color: #111;
  font-size: 18px;
  font-weight: 860;
}

.owner-decision-scorecard p {
  margin: 0;
  color: #4f4f49;
  font-size: 12px;
  line-height: 1.35;
}

.owner-alt-comparison button {
  display: grid;
  grid-template-columns: minmax(190px, 1.4fr) repeat(5, minmax(90px, .8fr)) minmax(80px, .7fr);
  gap: 8px;
  align-items: center;
  width: 100%;
  padding: 8px;
  border: 1px solid #deded8;
  border-radius: 7px;
  background: #fff;
  color: #111;
  text-align: left;
  cursor: pointer;
}

.owner-alt-comparison span,
.owner-alt-comparison em {
  color: #5d5d57;
  font-size: 11px;
  font-style: normal;
}

.owner-decision-rationale {
  padding: 10px 12px;
  border-left: 3px solid #22d3ee;
  background: #fafaf8;
}

.owner-decision-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.owner-driver-tree {
  display: grid;
  grid-template-columns: minmax(220px, .6fr) minmax(0, 1fr);
  gap: 18px;
  align-items: center;
}

.owner-driver-tree .root {
  display: grid;
  place-items: center;
  min-height: 160px;
  padding: 18px;
  border: 2px solid #151515;
  border-radius: 999px;
  text-align: center;
}

.owner-driver-tree .root strong {
  color: #111;
  font-size: 20px;
  font-weight: 880;
}

.owner-driver-tree .root span {
  color: #62625c;
  font-size: 12px;
  font-weight: 720;
}

.owner-driver-tree .branches {
  display: grid;
  gap: 8px;
}

.owner-driver-tree button {
  display: grid;
  grid-template-columns: minmax(190px, 1fr) minmax(130px, .7fr) minmax(130px, .7fr);
  gap: 8px;
  align-items: center;
  padding: 9px 10px;
  border: 1px solid #deded8;
  border-left: 3px solid #22d3ee;
  border-radius: 8px;
  background: #fff;
  color: #111;
  text-align: left;
  cursor: pointer;
}

.owner-driver-tree button.active,
.owner-driver-tree button:focus-visible {
  border-color: #151515;
  box-shadow: 0 0 0 3px rgba(21, 21, 21, .08);
  outline: none;
}

.owner-driver-tree span,
.owner-driver-tree em,
.owner-diagnosis-support p {
  color: #5d5d57;
  font-size: 12px;
  font-style: normal;
}

.owner-diagnosis-support article {
  grid-template-columns: minmax(160px, .6fr) minmax(0, 1fr);
}

/* Owner Dashboard hard-reset Phase 1 shell */
body.owner-dashboard-route .owner-reset-dashboard.owner-exec-unified {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 12px;
  padding: 12px;
  background: #f4f4f2;
  color: #141414;
}

body.owner-dashboard-route .owner-reset-dashboard > * {
  grid-column: 1 / -1;
}

body.owner-dashboard-route .owner-reset-diagnosis.owner-exec-diagnosis {
  min-height: 72px;
  padding: 12px 14px;
  border: 1px solid #d7d7d2;
  border-left: 3px solid #22d3ee;
  border-radius: 8px;
  background: #fff;
  box-shadow: none;
}

body.owner-dashboard-route .owner-reset-diagnosis.owner-exec-diagnosis strong {
  color: #141414;
  font-size: 14px;
  font-weight: 780;
  line-height: 1.25;
}

body.owner-dashboard-route .owner-reset-diagnosis.owner-exec-diagnosis b {
  border-color: #ddddda;
  background: #f7f7f5;
  color: #353532;
  font-size: 10.5px;
  font-weight: 760;
}

.owner-reset-lens-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.owner-reset-lens {
  display: grid;
  grid-template-rows: auto auto auto auto;
  gap: 6px;
  min-height: 118px;
  padding: 14px;
  border: 1px solid #d7d7d2;
  border-top: 3px solid #222;
  border-radius: 8px;
  background: #fff;
}

.owner-reset-lens.decision {
  border-top-color: #22d3ee;
}

.owner-reset-lens span,
.owner-reset-visual-shell header span,
.owner-reset-decision-shell span,
.owner-reset-band b {
  color: #62625c;
  font-size: 10px;
  font-weight: 860;
  letter-spacing: .03em;
  text-transform: uppercase;
}

.owner-reset-lens strong {
  overflow: hidden;
  color: #111;
  font-size: 24px;
  font-weight: 850;
  line-height: 1.05;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.owner-reset-lens p {
  margin: 0;
  color: #4a4a45;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.25;
}

.owner-reset-lens em {
  align-self: end;
  color: #6d6d66;
  font-size: 11px;
  font-style: normal;
  font-weight: 760;
}

.owner-reset-main-grid {
  display: grid;
  grid-template-columns: minmax(0, 9fr) minmax(320px, 3fr);
  gap: 12px;
  align-items: stretch;
}

.owner-reset-visual-shell,
.owner-reset-decision-shell {
  min-width: 0;
  min-height: 500px;
  border: 1px solid #d7d7d2;
  border-radius: 8px;
  background: #fff;
  box-shadow: none;
}

.owner-reset-visual-shell {
  display: grid;
  grid-template-rows: auto 1fr;
  padding: 14px;
}

.owner-reset-visual-shell header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid #ededeb;
}

.owner-reset-visual-shell header strong {
  color: #4f4f49;
  font-size: 12px;
  font-weight: 680;
}

.owner-reset-visual-stage {
  display: grid;
  grid-template-rows: 2.8fr .75fr 1.1fr;
  gap: 10px;
  padding-top: 12px;
}

.owner-reset-band {
  display: grid;
  grid-template-columns: 88px minmax(0, .42fr) minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 14px;
  border: 1px dashed #d9d9d4;
  border-radius: 8px;
  background: linear-gradient(180deg, #fff, #fbfbfa);
}

.owner-reset-band.cash {
  border-style: solid;
  background:
    linear-gradient(90deg, transparent 0, transparent 49.8%, rgba(0,0,0,.05) 49.8%, rgba(0,0,0,.05) 50.2%, transparent 50.2%),
    linear-gradient(180deg, #fff, #fbfbfa);
}

.owner-reset-band.events,
.owner-reset-band.conversion {
  background: #fafaf8;
}

.owner-reset-band strong {
  color: #161616;
  font-size: 18px;
  font-weight: 820;
}

.owner-reset-band em {
  color: #696961;
  font-size: 12px;
  font-style: normal;
  font-weight: 650;
}

.owner-reset-decision-shell {
  display: grid;
  grid-template-rows: .85fr 1.45fr .8fr;
  gap: 0;
}

.owner-reset-decision-shell section {
  display: grid;
  gap: 9px;
  align-content: start;
  padding: 14px;
  border-bottom: 1px solid #ededeb;
}

.owner-reset-decision-shell section:last-child {
  border-bottom: 0;
}

.owner-reset-decision-shell strong {
  color: #111;
  font-size: 15px;
  font-weight: 820;
  line-height: 1.25;
}

.owner-reset-decision-shell i {
  display: block;
  height: 9px;
  border-radius: 999px;
  background: #ededeb;
}

.owner-reset-decision-shell section:nth-child(2) i:first-of-type {
  width: 82%;
}

.owner-reset-decision-shell section:nth-child(2) i:nth-of-type(2) {
  width: 64%;
}

.owner-reset-decision-shell section:nth-child(2) i:nth-of-type(3) {
  width: 72%;
}

.owner-reset-decision-shell section:nth-child(2) i:nth-of-type(4) {
  width: 58%;
}

@media (max-width: 1180px) {
  .owner-exec-unified .owner-exec-kpi-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .owner-exec-unified .owner-exec-main-grid {
    grid-template-columns: 1fr;
  }

  .owner-exec-header-compact {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .owner-runway-layout,
  .owner-demand-layout,
  .owner-mix-layout,
  .owner-driver-tree {
    grid-template-columns: 1fr;
  }

  .owner-conversion-pipeline,
  .owner-capacity-calendar,
  .owner-decision-scorecard {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .owner-reset-lens-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .owner-reset-main-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .owner-exec-unified .owner-exec-kpi-grid,
  .owner-exec-proof-grid {
    grid-template-columns: 1fr;
  }

  .owner-exec-unified .owner-exec-diagnosis {
    grid-template-columns: 1fr;
  }

  .owner-product-priority-grid {
    overflow-x: auto;
  }

  .owner-product-priority-grid .head,
  .owner-product-priority-row {
    min-width: 780px;
  }

  .owner-exec-conversion-flow {
    grid-template-columns: 1fr;
  }

  .owner-conversion-pipeline,
  .owner-demand-exposure,
  .owner-scenario-controls,
  .owner-basis-quality,
  .owner-capacity-calendar,
  .owner-decision-scorecard,
  .owner-cap-product-row {
    grid-template-columns: 1fr;
  }

  .owner-cash-waterfall,
  .owner-conversion-matrix,
  .owner-alt-comparison {
    overflow-x: auto;
  }

  .owner-cash-waterfall {
    grid-template-columns: repeat(9, minmax(110px, 1fr));
  }

  .owner-conversion-matrix button,
  .owner-alt-comparison button {
    min-width: 780px;
  }

  .owner-reset-lens-grid,
  .owner-reset-main-grid {
    grid-template-columns: 1fr;
  }

  .owner-reset-band {
    grid-template-columns: 1fr;
  }
}

/* Final Owner Dashboard visual authority: keep after legacy dashboard blocks. */
body.owner-dashboard-route .owner-exec-unified .owner-exec-main-grid {
  grid-template-columns: minmax(0, 9fr) minmax(320px, 3fr);
  align-items: start;
}

body.owner-dashboard-route .owner-approved-operating-graph,
body.owner-dashboard-route .owner-decision-panel {
  height: 536px;
  min-height: 536px;
  max-height: 536px;
}

body.owner-dashboard-route .owner-approved-operating-graph .owner-exec-chart-canvas {
  min-height: 440px;
  max-height: 440px;
}

body.owner-dashboard-route .owner-approved-operating-graph .owner-approved-operating-svg {
  height: 440px;
  min-height: 440px;
  max-height: 440px;
  aspect-ratio: auto;
}

body.owner-dashboard-route .owner-decision-panel {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 8px;
  padding: 12px;
  overflow: hidden;
}

body.owner-dashboard-route .owner-decision-panel h3 {
  margin: 0 0 6px;
  font-size: 11px;
}

body.owner-dashboard-route .owner-decision-panel ul {
  gap: 5px;
}

body.owner-dashboard-route .owner-decision-panel li {
  font-size: 11px;
  line-height: 1.24;
}

body.owner-dashboard-route .owner-decision-primary article {
  gap: 7px;
  padding: 11px;
}

body.owner-dashboard-route .owner-decision-primary article > strong {
  font-size: 18px;
  line-height: 1.08;
}

body.owner-dashboard-route .owner-decision-primary p {
  font-size: 11px;
  line-height: 1.25;
}

body.owner-dashboard-route .owner-decision-primary dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px 8px;
  margin: 0;
}

body.owner-dashboard-route .owner-decision-primary dl div {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1px;
  min-width: 0;
}

body.owner-dashboard-route .owner-decision-primary dt {
  font-size: 9px;
}

body.owner-dashboard-route .owner-decision-primary dd {
  min-width: 0;
  font-size: 10.5px;
  line-height: 1.15;
  overflow-wrap: anywhere;
}

body.owner-dashboard-route .owner-decision-panel .owner-decision-primary .btn {
  min-height: 30px;
}

body.owner-dashboard-route .owner-decision-alternatives > div {
  gap: 5px;
}

body.owner-dashboard-route .owner-decision-alternatives > div > button {
  padding: 6px 8px;
}

body.owner-dashboard-route .owner-decision-alternatives b {
  font-size: 11px;
}

body.owner-dashboard-route .owner-decision-alternatives span,
body.owner-dashboard-route .owner-view-all-actions {
  font-size: 10.5px;
}

body.owner-dashboard-route .owner-product-priority-strip {
  min-height: 126px;
}

/* Final Owner Dashboard viewport fit. */
body.owner-dashboard-route .owner-exec-unified .owner-exec-diagnosis {
  min-height: 62px;
  padding-top: 8px;
  padding-bottom: 8px;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi {
  height: 112px;
  min-height: 112px;
  max-height: 112px;
  padding: 12px;
  overflow: hidden;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi strong,
body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi.good strong,
body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi.watch strong,
body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi.risk strong {
  font-size: clamp(18px, 1.25vw, 22px);
}

body.owner-dashboard-route .owner-approved-operating-graph,
body.owner-dashboard-route .owner-decision-panel {
  height: 456px;
  min-height: 456px;
  max-height: 456px;
}

body.owner-dashboard-route .owner-approved-operating-graph .owner-exec-chart-canvas {
  min-height: 368px;
  max-height: 368px;
}

body.owner-dashboard-route .owner-approved-operating-graph .owner-approved-operating-svg {
  height: 368px;
  min-height: 368px;
  max-height: 368px;
}

body.owner-dashboard-route .owner-operating-graph.owner-approved-operating-graph .owner-exec-cash-svg.owner-operating-svg.owner-approved-operating-svg {
  height: 368px;
  min-height: 368px;
  max-height: 368px;
  aspect-ratio: auto;
}

body.owner-dashboard-route .owner-decision-panel {
  grid-template-rows: 84px 172px minmax(0, 1fr);
  gap: 6px;
  padding: 10px;
}

body.owner-dashboard-route .owner-decision-panel section {
  min-height: 0;
  overflow: hidden;
}

body.owner-dashboard-route .owner-decision-panel h3 {
  margin-bottom: 5px;
}

body.owner-dashboard-route .owner-decision-situation ul {
  gap: 4px;
}

body.owner-dashboard-route .owner-decision-panel li {
  font-size: 10px;
  line-height: 1.18;
}

body.owner-dashboard-route .owner-decision-primary article {
  box-sizing: border-box;
  height: 100%;
  gap: 5px;
  padding: 9px;
  overflow: hidden;
}

body.owner-dashboard-route .owner-decision-primary article > span {
  font-size: 8px;
  line-height: 1;
}

body.owner-dashboard-route .owner-decision-primary article > strong {
  font-size: 15px;
  line-height: 1.08;
}

body.owner-dashboard-route .owner-decision-primary p {
  display: none;
}

body.owner-dashboard-route .owner-decision-primary dl {
  gap: 4px 8px;
}

body.owner-dashboard-route .owner-decision-primary dd {
  font-size: 10px;
}

body.owner-dashboard-route .owner-decision-panel .owner-decision-primary .btn {
  height: 26px;
  min-height: 26px;
  padding: 4px 8px;
  font-size: 10.5px;
  line-height: 1;
}

body.owner-dashboard-route .owner-decision-alternatives {
  display: grid;
  grid-template-rows: auto minmax(0, auto) auto auto;
  gap: 5px;
}

body.owner-dashboard-route .owner-decision-alternatives > div > button {
  min-height: 34px;
  padding: 4px 7px;
}

body.owner-dashboard-route .owner-decision-alternatives .btn {
  min-height: 28px;
  padding: 4px 8px;
  font-size: 10.5px;
}

body.owner-dashboard-route .owner-approved-operating-svg .cash-position-label {
  fill: #333;
}

/* Final Owner Dashboard polish pass. */
body.owner-dashboard-route .owner-approved-operating-svg .lane-label {
  fill: #3f3f3a;
  font-size: 10px;
  font-weight: 860;
  letter-spacing: .02em;
}

body.owner-dashboard-route .owner-approved-event-marker .event-halo {
  fill: #fff;
  stroke-width: 1.4;
}

body.owner-dashboard-route .owner-approved-event-marker .event-chip {
  fill: #fff;
  stroke: #c9d1d4;
  stroke-width: .9;
}

body.owner-dashboard-route .owner-approved-event-marker .event-chip-text {
  fill: #111;
  font-size: 8.4px;
  font-weight: 850;
}

body.owner-dashboard-route .owner-product-priority-strip {
  min-height: 0;
  padding-bottom: 10px;
}

body.owner-dashboard-route .owner-product-priority-grid {
  border-radius: 7px;
}

body.owner-dashboard-route .owner-product-priority-grid .head,
body.owner-dashboard-route .owner-product-priority-row {
  min-height: 34px;
}

body.owner-dashboard-route .owner-product-priority-row {
  padding-top: 5px;
  padding-bottom: 5px;
}

body.owner-dashboard-route .owner-product-priority-row em {
  min-height: 24px;
  padding: 4px 9px;
}

/* Final Owner Dashboard simplification pass. */
body.owner-dashboard-route .owner-exec-unified .owner-exec-diagnosis,
body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi,
body.owner-dashboard-route .owner-exec-unified .owner-exec-panel,
body.owner-dashboard-route .owner-exec-unified .owner-exec-actions-panel {
  border-color: #d9d9d3;
  box-shadow: none;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-diagnosis {
  border-left-color: #b8b8b1;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-main-grid {
  grid-template-columns: minmax(0, 78fr) minmax(300px, 22fr);
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi {
  height: auto;
  min-height: 112px;
  max-height: none;
  gap: 3px;
  padding: 12px 13px;
  border-left-width: 1px;
  border-top-width: 2px;
  overflow: visible;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi.good,
body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi.watch,
body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi.risk {
  border-left-width: 1px;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi.good { border-top-color: #16834b; }
body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi.watch { border-top-color: #b6861f; }
body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi.risk { border-top-color: #b94b43; }

body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi.decision {
  border-left-width: 1px;
  border-top-color: #d6b34a;
  background: linear-gradient(180deg, #fff, #fffdf4);
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi span {
  color: #4a4a45;
  font-size: 9.5px;
  letter-spacing: .045em;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi strong,
body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi.good strong,
body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi.watch strong,
body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi.risk strong {
  color: #111;
  font-size: clamp(18px, 1.12vw, 21px);
  line-height: 1.08;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi em,
body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi b {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi em {
  color: #5d5d57;
  font-size: 10.5px;
  font-weight: 650;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi b {
  font-size: 10px;
  font-weight: 820;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi.good b { color: #16834b; }
body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi.watch b { color: #8a6817; }
body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi.risk b { color: #a33d36; }
body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi.decision b { color: #7a5a00; }

body.owner-dashboard-route .owner-approved-operating-graph {
  padding: 12px 13px 9px;
}

body.owner-dashboard-route .owner-approved-operating-graph .owner-exec-chart-canvas {
  border: 0;
  border-top: 1px solid #ecece8;
  border-radius: 0;
  background: #fff;
}

body.owner-dashboard-route .owner-approved-operating-graph .owner-exec-chart-stats {
  gap: 4px;
}

body.owner-dashboard-route .owner-approved-operating-graph .owner-exec-chart-stats span {
  border: 0;
  background: #f6f6f3;
  color: #4b4b46;
}

body.owner-dashboard-route .owner-approved-operating-svg .zone.healthy,
body.owner-dashboard-route .owner-approved-operating-svg .zone.caution,
body.owner-dashboard-route .owner-approved-operating-svg .zone.shortage {
  fill: transparent;
}

body.owner-dashboard-route .owner-approved-operating-svg .period.forecast {
  fill: rgba(45, 99, 184, .035);
}

body.owner-dashboard-route .owner-approved-operating-svg .reserve {
  stroke: #b6861f;
  stroke-width: 1.35;
  stroke-dasharray: 6 5;
}

body.owner-dashboard-route .owner-approved-operating-svg .owner-exec-point.current circle {
  fill: #111;
}

body.owner-dashboard-route .owner-approved-operating-graph .owner-exec-chart-legend .reserve {
  background: #b6861f;
}

body.owner-dashboard-route .owner-approved-operating-svg .zero {
  stroke: rgba(185, 75, 67, .65);
}

body.owner-dashboard-route .owner-approved-operating-svg .cash-callout {
  fill: #32322e;
  font-size: 9.5px;
  font-weight: 820;
}

body.owner-dashboard-route .owner-approved-operating-svg .cash-callout.intervention-week {
  fill: #8f3f34;
}

body.owner-dashboard-route .owner-approved-operating-svg .owner-exec-point text {
  display: none;
}

body.owner-dashboard-route .owner-approved-event-marker .event-halo {
  fill: #fff;
  stroke: #2f2f2b;
  stroke-width: 1.15;
}

body.owner-dashboard-route .owner-approved-event-marker path,
body.owner-dashboard-route .owner-approved-event-marker rect:not(.event-chip),
body.owner-dashboard-route .owner-approved-event-marker circle:not(.event-halo) {
  stroke-width: 1.45;
}

body.owner-dashboard-route .owner-approved-event-marker.inventory path,
body.owner-dashboard-route .owner-approved-event-marker.build path {
  stroke: #4e5965;
}

body.owner-dashboard-route .owner-approved-event-marker .event-chip {
  fill: #fff;
  stroke: #d9d9d3;
}

body.owner-dashboard-route .owner-approved-event-marker .event-chip-text {
  font-size: 8px;
}

body.owner-dashboard-route .owner-approved-operating-graph .owner-exec-chart-hotspot.event {
  width: 34px;
  height: 34px;
}

body.owner-dashboard-route .owner-decision-panel {
  grid-template-rows: 82px 176px minmax(0, 1fr);
  border-color: #d9d9d3;
  padding: 10px;
}

body.owner-dashboard-route .owner-decision-panel h3 {
  font-size: 10.5px;
  letter-spacing: .045em;
}

body.owner-dashboard-route .owner-decision-primary article {
  border: 0;
  border-left: 3px solid #d6b34a;
  background: #fffdf4;
}

body.owner-dashboard-route .owner-decision-primary article > strong {
  font-size: 16px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

body.owner-dashboard-route .owner-decision-primary p {
  display: block;
  color: #5d5d57;
  font-size: 10.5px;
  line-height: 1.2;
}

body.owner-dashboard-route .owner-decision-primary dt {
  font-size: 8.5px;
}

body.owner-dashboard-route .owner-decision-panel .owner-decision-primary .btn {
  height: 26px;
  min-height: 26px;
}

body.owner-dashboard-route .owner-decision-proof-link,
body.owner-dashboard-route .owner-compare-actions-link {
  justify-self: start;
  border: 0;
  background: transparent;
  color: #111;
  font-size: 10.5px;
  font-weight: 820;
  text-decoration: underline;
  cursor: pointer;
}

body.owner-dashboard-route .owner-decision-alternatives > div {
  gap: 4px;
}

body.owner-dashboard-route .owner-alternative-row {
  display: grid;
  gap: 1px;
  padding: 5px 0;
  border-top: 1px solid #ecece8;
}

body.owner-dashboard-route .owner-alternative-row:first-child {
  border-top: 0;
}

body.owner-dashboard-route .owner-product-priority-strip {
  padding: 9px 10px 10px;
}

body.owner-dashboard-route .owner-product-priority-grid {
  border: 0;
  border-top: 1px solid #e2e2dc;
  border-radius: 0;
}

body.owner-dashboard-route .owner-product-priority-grid .head,
body.owner-dashboard-route .owner-product-priority-row {
  grid-template-columns: 1.5fr .8fr .7fr .7fr .75fr;
  min-height: 32px;
}

body.owner-dashboard-route .owner-product-priority-grid .head {
  background: #f6f6f3;
  color: #33332f;
}

body.owner-dashboard-route .owner-product-priority-grid .head span,
body.owner-dashboard-route .owner-product-priority-row > * {
  padding: 6px 9px;
  border-right-color: #eeeeea;
  font-size: 10.5px;
}

body.owner-dashboard-route .owner-product-priority-grid .head span {
  border-color: #e0e0da;
}

body.owner-dashboard-route .owner-product-decision-grid .head,
body.owner-dashboard-route .owner-product-decision-grid .owner-product-priority-row {
  grid-template-columns: 1.35fr .68fr .78fr .64fr .76fr 1fr;
}

body.owner-dashboard-route .owner-exec-product-decision-table .owner-product-priority-row span:last-child {
  color: #33332f;
  font-weight: 760;
}

body.owner-dashboard-route .owner-weekly-rhythm-panel {
  padding: 10px;
}

body.owner-dashboard-route .owner-weekly-rhythm-grid {
  display: grid;
  border-top: 1px solid #e2e2dc;
}

body.owner-dashboard-route .owner-weekly-rhythm-grid .head,
body.owner-dashboard-route .owner-weekly-rhythm-row {
  display: grid;
  grid-template-columns: .75fr .82fr 1.35fr .78fr .62fr;
  align-items: center;
  min-height: 34px;
}

body.owner-dashboard-route .owner-weekly-rhythm-grid .head {
  background: #f6f6f3;
  color: #33332f;
}

body.owner-dashboard-route .owner-weekly-rhythm-grid .head span,
body.owner-dashboard-route .owner-weekly-rhythm-row > * {
  min-width: 0;
  padding: 6px 9px;
  border-right: 1px solid #eeeeea;
  border-bottom: 1px solid #eeeeea;
  font-size: 10.5px;
}

body.owner-dashboard-route .owner-weekly-rhythm-grid .head span {
  color: #4a4a45;
  font-weight: 850;
  text-transform: uppercase;
}

body.owner-dashboard-route .owner-weekly-rhythm-row {
  width: 100%;
  border: 0;
  background: #fff;
  color: #171717;
  text-align: left;
  cursor: pointer;
}

body.owner-dashboard-route .owner-weekly-rhythm-row:hover,
body.owner-dashboard-route .owner-weekly-rhythm-row:focus-visible {
  background: #f0fbfd;
  outline: none;
}

body.owner-dashboard-route .owner-weekly-rhythm-row strong {
  color: #111;
  font-weight: 820;
}

body.owner-dashboard-route .owner-weekly-rhythm-row em {
  justify-self: start;
  padding: 3px 8px;
  border-radius: 999px;
  background: #f1f1ee;
  color: #343430;
  font-style: normal;
  font-weight: 820;
}

body.owner-dashboard-route .owner-weekly-rhythm-row.good em { background: #eaf7ef; color: #16834b; }
body.owner-dashboard-route .owner-weekly-rhythm-row.watch em { background: #fff7df; color: #8a6817; }
body.owner-dashboard-route .owner-weekly-rhythm-row.risk em { background: #fff0ee; color: #a33d36; }

/* Owner Dashboard mockup reconstruction - Phase 1 grid and proportions only. */
body.owner-dashboard-route .content {
  background: #eef2f4;
}

body.owner-dashboard-route .topbar {
  min-height: 66px;
  padding: 8px 20px 8px 24px;
  border-bottom: 0;
  background: #111;
  color: #fff;
  box-shadow: none;
}

body.owner-dashboard-route .topbar-title {
  flex: 0 0 auto;
}

body.owner-dashboard-route .topbar h1 {
  color: #fff;
  font-size: 22px;
  font-weight: 850;
  line-height: 1;
}

body.owner-dashboard-route .topbar-actions {
  flex: 1 1 auto;
  justify-content: flex-end;
}

body.owner-dashboard-route #status-pill,
body.owner-dashboard-route #theme-toggle,
body.owner-dashboard-route #refresh-btn {
  display: none;
}

.owner-mock-header-controls {
  display: grid;
  grid-template-columns: minmax(210px, 260px) repeat(3, minmax(126px, 160px)) auto;
  gap: 22px;
  align-items: center;
  width: 100%;
}

.owner-mock-header-controls label,
.owner-mock-header-controls > span {
  display: grid;
  gap: 4px;
}

.owner-mock-header-controls span,
.owner-mock-header-controls b {
  color: #fff;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .04em;
  line-height: 1;
  text-transform: uppercase;
}

.owner-mock-header-controls strong {
  color: #fff;
  font-size: 12px;
  font-weight: 850;
  line-height: 1.1;
  text-transform: uppercase;
}

.owner-mock-header-controls select {
  min-height: 32px;
  border: 1px solid #555;
  border-radius: 5px;
  background: #1f1f1e;
  color: #fff;
  font-size: 13px;
  font-weight: 780;
}

.owner-mock-model-button {
  min-height: 34px;
  padding: 0 14px;
  border: 1px solid #cfcfc9;
  border-radius: 7px;
  background: #fff;
  color: #111;
  font-size: 13px;
  font-weight: 850;
}

.owner-mockup-phase1 {
  --mock-border: #d7d9d4;
  --mock-muted: #5b615b;
  --mock-yellow: #d2a817;
  display: grid;
  gap: 10px;
  width: min(1740px, calc(100vw - 288px));
  margin: 0 auto;
  padding: 14px 16px 22px;
  color: #111;
}

.owner-mockup-phase1 button,
.owner-mockup-phase1 a {
  font-family: inherit;
}

.owner-mock-diagnosis,
.owner-mock-kpi,
.owner-mock-cash-panel,
.owner-mock-action-panel,
.owner-mock-module,
.owner-mock-product-table,
.owner-mock-rhythm,
.owner-mock-deep-dives {
  border: 1px solid var(--mock-border);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 1px 0 rgba(17, 17, 17, .03);
}

.owner-mock-diagnosis {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  gap: 13px;
  align-items: center;
  min-height: 74px;
  padding: 10px 14px;
  border-left: 4px solid var(--manaforge-aqua, #14b8c6);
}

.owner-mock-diagnosis > i {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 1px solid #d8d8d2;
  border-radius: 999px;
  background: #f6f6f3;
  color: #111;
}

.owner-mock-diagnosis svg,
.owner-mock-kpi svg,
.owner-mock-deep-dives svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.9;
}

.owner-mock-diagnosis strong {
  display: block;
  color: #111;
  font-size: 14px;
  font-weight: 850;
  line-height: 1.25;
}

.owner-mock-diagnosis span {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 7px;
}

.owner-mock-diagnosis b {
  padding: 3px 9px;
  border: 1px solid #d8d8d2;
  border-radius: 999px;
  background: #fff;
  color: #111;
  font-size: 10px;
  font-weight: 800;
}

.owner-mock-diagnosis button {
  min-height: 36px;
  padding: 0 16px;
  border: 1px solid #cfcfc9;
  border-radius: 6px;
  background: #fff;
  color: #111;
  font-size: 13px;
  font-weight: 850;
}

.owner-mock-kpi-grid {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 10px;
}

.owner-mock-kpi {
  display: grid;
  grid-template-columns: 29px minmax(0, 1fr);
  grid-template-areas:
    "icon label"
    "icon value"
    "icon note"
    "status status";
  gap: 3px 8px;
  align-content: start;
  min-height: 104px;
  padding: 11px 10px;
  border-top: 3px solid #1f1f1f;
  color: #111;
  text-align: left;
}

.owner-mock-kpi.watch {
  border-top-color: #b88919;
}

.owner-mock-kpi.risk {
  border-top-color: #c73a2c;
}

.owner-mock-kpi i {
  grid-area: icon;
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border: 1px solid #d9d9d2;
  border-radius: 7px;
  background: #f6f6f3;
}

.owner-mock-kpi span {
  grid-area: label;
  color: #444942;
  font-size: 9.5px;
  font-weight: 900;
  letter-spacing: .035em;
  line-height: 1.15;
  text-transform: uppercase;
}

.owner-mock-kpi strong {
  grid-area: value;
  color: #111;
  font-size: 20px;
  font-weight: 900;
  line-height: 1.04;
}

.owner-mock-kpi em {
  grid-area: note;
  color: #5b615b;
  font-size: 10.5px;
  font-style: normal;
  font-weight: 650;
  line-height: 1.2;
}

.owner-mock-kpi b {
  grid-area: status;
  padding-top: 4px;
  border-top: 1px solid #ecece8;
  color: #333;
  font-size: 10px;
  font-weight: 800;
}

.owner-mock-main-grid {
  display: grid;
  grid-template-columns: minmax(0, 9fr) minmax(330px, 3fr);
  gap: 12px;
  align-items: stretch;
}

.owner-mock-cash-panel,
.owner-mock-action-panel {
  height: 502px;
  min-height: 502px;
}

.owner-mock-cash-panel {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 8px;
  padding: 12px;
}

.owner-mock-panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.owner-mock-panel-head span,
.owner-mock-action-panel h3,
.owner-mock-module div span {
  color: #111;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .035em;
  text-transform: uppercase;
}

.owner-mock-panel-head strong {
  display: block;
  margin-top: 3px;
  color: #515750;
  font-size: 11px;
  font-weight: 650;
}

.owner-mock-stat-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: flex-end;
}

.owner-mock-stat-row b {
  padding: 6px 9px;
  border: 1px solid #d9d9d3;
  border-radius: 999px;
  color: #111;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.owner-mock-chart-shell {
  position: relative;
  min-height: 414px;
  overflow: hidden;
  border: 1px solid #dfdfd9;
  border-radius: 8px;
  background: #fff;
}

.owner-mock-chart-zone {
  position: absolute;
  left: 0;
  right: 0;
  display: flex;
  justify-content: flex-end;
  padding-right: 12px;
  pointer-events: none;
}

.owner-mock-chart-zone span {
  color: rgba(17, 17, 17, .45);
  font-size: 10px;
  font-weight: 850;
  text-transform: uppercase;
}

.owner-mock-chart-zone.healthy {
  top: 0;
  height: 44%;
  background: rgba(31, 132, 82, .055);
}

.owner-mock-chart-zone.caution {
  top: 44%;
  height: 30%;
  background: rgba(214, 179, 74, .10);
}

.owner-mock-chart-zone.shortage {
  bottom: 0;
  height: 26%;
  background: rgba(200, 58, 46, .075);
}

.owner-mock-chart-shell svg {
  position: relative;
  display: block;
  width: 100%;
  height: 372px;
}

.owner-mock-chart-shell .actual,
.owner-mock-chart-shell .forecast,
.owner-mock-chart-shell .downside {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.owner-mock-chart-shell .actual {
  stroke: #111;
  stroke-width: 3.1;
}

.owner-mock-chart-shell .forecast {
  stroke: #315f88;
  stroke-width: 2.8;
}

.owner-mock-chart-shell .downside {
  stroke: #c73a2c;
  stroke-width: 1.6;
  stroke-dasharray: 6 7;
}

.owner-mock-chart-shell .range {
  fill: rgba(80, 108, 132, .16);
}

.owner-mock-chart-shell .reserve {
  stroke: #b6861f;
  stroke-width: 2;
  stroke-dasharray: 7 6;
}

.owner-mock-chart-shell .zero {
  stroke: #c73a2c;
  stroke-width: 1.2;
  stroke-dasharray: 5 5;
}

.owner-mock-chart-shell .now {
  stroke: #111;
  stroke-width: 1.2;
  stroke-dasharray: 3 4;
}

.owner-mock-chart-shell .label {
  fill: #444942;
  font-size: 11px;
  font-weight: 850;
}

.owner-mock-chart-shell .mock-event circle {
  fill: #fff;
  stroke: #16834b;
  stroke-width: 2;
}

.owner-mock-chart-shell .mock-event.purchase circle {
  stroke: #b6861f;
}

.owner-mock-chart-shell .mock-event.payroll circle {
  stroke: #555;
}

.owner-mock-chart-shell .mock-event text {
  fill: #111;
  font-size: 11px;
  font-weight: 900;
  text-anchor: middle;
}

.owner-mock-chart-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 11px;
  align-items: center;
  padding: 7px 10px 0;
  border-top: 1px solid #efefeb;
  color: #3b403a;
  font-size: 11px;
  font-weight: 760;
}

.owner-mock-chart-legend span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.owner-mock-chart-legend i {
  width: 20px;
  height: 3px;
  border-radius: 999px;
  background: #111;
}

.owner-mock-chart-legend .forecast {
  background: #315f88;
}

.owner-mock-chart-legend .reserve {
  background: #b6861f;
}

.owner-mock-chart-legend .range {
  height: 8px;
  background: rgba(80, 108, 132, .24);
}

.owner-mock-chart-legend .event {
  width: 10px;
  height: 10px;
  border: 2px solid #16834b;
  background: #fff;
}

.owner-mock-action-panel {
  display: grid;
  grid-template-rows: auto 1fr auto auto;
  gap: 10px;
  padding: 12px;
}

.owner-mock-action-panel section {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.owner-mock-action-panel h3 {
  margin: 0;
}

.owner-mock-action-panel ul,
.owner-mock-action-panel ol {
  display: grid;
  gap: 7px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.owner-mock-action-panel li {
  color: #2f352f;
  font-size: 11.5px;
  font-weight: 650;
  line-height: 1.28;
}

.owner-mock-action-panel ol li {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr) auto;
  gap: 7px;
  align-items: center;
  padding: 7px 0;
  border-top: 1px solid #ecece8;
}

.owner-mock-action-panel ol span {
  display: grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border-radius: 999px;
  background: #111;
  color: #fff;
  font-size: 10px;
  font-weight: 900;
}

.owner-mock-action-panel ol b,
.owner-mock-action-panel ol strong {
  overflow: hidden;
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.owner-mock-action-panel ol strong {
  color: #16834b;
  font-weight: 900;
}

.owner-mock-action-panel button {
  min-height: 34px;
  border: 0;
  border-radius: 6px;
  background: #111;
  color: #fff;
  font-weight: 900;
}

.owner-mock-action-panel > a {
  justify-self: start;
  color: #111;
  font-size: 11px;
  font-weight: 850;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.owner-mock-module-grid {
  display: grid;
  grid-template-columns: 1.45fr 1.05fr 1.05fr 1.1fr;
  gap: 10px;
}

.owner-mock-module {
  display: grid;
  gap: 8px;
  min-height: 154px;
  padding: 12px;
}

.owner-mock-module div {
  display: flex;
  justify-content: space-between;
  gap: 8px;
}

.owner-mock-module a {
  color: #315f88;
  font-size: 11px;
  font-weight: 850;
}

.owner-mock-module strong {
  color: #111;
  font-size: 19px;
  font-weight: 900;
  line-height: 1.05;
}

.owner-mock-module p {
  margin: 0;
  color: #565c55;
  font-size: 11.5px;
  line-height: 1.35;
}

.owner-mock-module > i {
  display: block;
  width: 100%;
  height: 9px;
  overflow: hidden;
  border-radius: 999px;
  background: #ecece8;
}

.owner-mock-module > i::before {
  display: block;
  width: var(--w);
  height: 100%;
  border-radius: inherit;
  background: #111;
  content: "";
}

.owner-mock-lower-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.8fr) minmax(360px, .9fr);
  gap: 10px;
}

.owner-mock-product-table,
.owner-mock-rhythm,
.owner-mock-deep-dives {
  padding: 12px;
}

.owner-mock-table {
  display: grid;
  overflow: hidden;
  border: 1px solid #deded8;
  border-radius: 7px;
}

.owner-mock-table .head,
.owner-mock-table > div:not(.head) {
  display: grid;
  grid-template-columns: 1.45fr .65fr .65fr .6fr .78fr 1fr;
  align-items: center;
}

.owner-mock-table .head {
  background: #111;
  color: #fff;
}

.owner-mock-table b,
.owner-mock-table span,
.owner-mock-table em {
  min-width: 0;
  padding: 7px 9px;
  border-right: 1px solid #ecece8;
  font-size: 11px;
  font-style: normal;
  font-weight: 760;
}

.owner-mock-table .head b {
  border-right-color: #333;
  color: #fff;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.owner-mock-table > div:not(.head) {
  border-top: 1px solid #ecece8;
}

.owner-mock-table em,
.owner-mock-week-list em {
  justify-self: start;
  margin-left: 8px;
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
}

.owner-mock-table em.good,
.owner-mock-week-list em.good {
  background: #e7f5ed;
  color: #16834b;
}

.owner-mock-table em.watch,
.owner-mock-week-list em.watch {
  background: #fff4df;
  color: #8a5b00;
}

.owner-mock-table em.risk,
.owner-mock-week-list em.risk {
  background: #fff0ed;
  color: #b72c22;
}

.owner-mock-week-list {
  display: grid;
  gap: 6px;
}

.owner-mock-week-list article {
  display: grid;
  grid-template-columns: 52px minmax(80px, .7fr) minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  min-height: 37px;
  border-bottom: 1px solid #ecece8;
}

.owner-mock-week-list b {
  font-size: 11px;
}

.owner-mock-week-list span {
  color: #3d433d;
  font-size: 11px;
  font-weight: 700;
}

.owner-mock-deep-dives {
  display: grid;
  gap: 10px;
}

.owner-mock-deep-dives > div:last-child {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 8px;
}

.owner-mock-deep-dives a {
  display: flex;
  gap: 8px;
  align-items: center;
  min-height: 40px;
  padding: 8px 10px;
  border: 1px solid #deded8;
  border-radius: 7px;
  color: #111;
  font-size: 11px;
  font-weight: 850;
  text-decoration: none;
}

.owner-mock-deep-dives i {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 25px;
  height: 25px;
  border-radius: 6px;
  background: #f2f2ef;
}

@media (max-width: 1400px) {
  .owner-mock-kpi-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .owner-mock-main-grid,
  .owner-mock-lower-grid {
    grid-template-columns: 1fr;
  }

  .owner-mock-module-grid,
  .owner-mock-deep-dives > div:last-child {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Screenshot QA remediation: visual fidelity and page-identity polish. Keep last. */
body.owner-dashboard-route .content {
  background: #f4f6f8;
}

body.owner-dashboard-route .topbar {
  min-height: 66px;
  padding: 8px 20px;
}

body.owner-dashboard-route .owner-exec-dashboard.owner-exec-unified {
  gap: 9px;
  padding: 10px 14px 28px;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-diagnosis {
  min-height: 64px;
  padding: 8px 12px;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-diagnosis strong {
  font-size: 13px;
  line-height: 1.2;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi-grid {
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 8px;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi {
  min-height: 98px;
  padding: 9px 10px;
  gap: 2px;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi i {
  display: none;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi span {
  font-size: 8.8px;
  letter-spacing: .03em;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi strong,
body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi.good strong,
body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi.watch strong,
body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi.risk strong {
  font-size: clamp(15px, 1.14vw, 19px);
  line-height: 1.08;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi em {
  font-size: 10px;
  line-height: 1.22;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi b {
  font-size: 9.5px;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi .owner-kpi-cue {
  justify-self: end;
  align-self: end;
  display: grid;
  place-items: center;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: #f1f5f6;
  color: #172033;
  font-size: 12px;
  line-height: 1;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-main-grid {
  grid-template-columns: minmax(0, 77fr) minmax(288px, 23fr);
  gap: 12px;
}

body.owner-dashboard-route .owner-operating-graph .owner-exec-cash-svg.owner-operating-svg {
  min-height: 390px;
  max-height: 420px;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-chart-canvas {
  min-height: 390px;
}

body.owner-dashboard-route .owner-approved-operating-graph {
  padding-bottom: 18px;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-chart-stats span {
  padding: 5px 8px;
  font-size: 10px;
}

body.owner-dashboard-route .owner-decision-panel {
  gap: 9px;
  padding: 10px;
}

body.owner-dashboard-route .owner-decision-panel h3 {
  font-size: 11px;
}

body.owner-dashboard-route .owner-decision-panel li,
body.owner-dashboard-route .owner-decision-primary p {
  font-size: 11px;
  line-height: 1.3;
}

body.owner-dashboard-route .owner-decision-primary article > strong {
  font-size: 16px;
}

body.owner-dashboard-route .owner-decision-primary dl div {
  grid-template-columns: 82px minmax(0, 1fr);
}

body.owner-dashboard-route .owner-decision-alternatives > div > button {
  padding: 7px 8px;
}

body.owner-dashboard-route .owner-exec-mini-grid {
  gap: 9px;
  margin-top: 8px;
}

body.owner-dashboard-route .owner-exec-mini-card {
  min-height: 128px;
  padding: 10px;
}

body.owner-dashboard-route .owner-product-priority-strip,
body.owner-dashboard-route .owner-weekly-rhythm-panel,
body.owner-dashboard-route .owner-exec-deep-dives {
  padding: 10px;
}

.scenario-comparison-page {
  display: grid;
  gap: 14px;
}

.scenario-hero p,
.scenario-empty-proof p {
  max-width: 840px;
  margin: 0;
  color: #4e5659;
  font-size: 13px;
  line-height: 1.45;
}

.scenario-shell-status {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.scenario-shell-status span {
  display: grid;
  gap: 4px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f7fbfc;
}

.scenario-shell-status b,
.scenario-action-row strong {
  color: #5b6469;
  font-size: 10px;
  font-weight: 850;
  text-transform: uppercase;
}

.scenario-shell-status strong {
  color: var(--ink);
  font-size: 14px;
}

.scenario-shell-status em {
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
}

.scenario-action-list {
  display: grid;
  gap: 8px;
}

.scenario-action-row {
  display: grid;
  grid-template-columns: 30px minmax(210px, .9fr) minmax(0, 1.2fr) minmax(150px, .55fr);
  gap: 10px;
  align-items: center;
  width: 100%;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
  text-align: left;
}

.scenario-action-row span {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  background: #172033;
  color: #fff;
  font-size: 11px;
  font-weight: 850;
}

.scenario-action-row b {
  font-size: 13px;
}

.scenario-action-row em {
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
}

.scenario-empty-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

@media (max-width: 1180px) {
  body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 1050px) {
  body.owner-dashboard-route .owner-exec-unified .owner-exec-main-grid,
  .scenario-shell-status,
  .scenario-action-row {
    grid-template-columns: 1fr;
  }
}

/* Phase 1 visual remediation: dashboard shell, KPI row, and cash graph only. Keep last. */
.sidebar {
  width: 188px;
}

.brand {
  padding: 12px 10px;
  gap: 8px;
}

.brand-mark.brand-logo {
  width: 48px;
  height: 34px;
}

.brand-text strong {
  font-size: 12px;
  line-height: 1.08;
}

.brand-text span {
  color: #b9bdac;
  font-size: 7.9px;
  line-height: 1.12;
  letter-spacing: .015em;
}

.nav-item {
  padding: 9px 10px;
  white-space: nowrap;
}

.nav-item.active {
  background: #2b2b2b;
  color: #fff;
  box-shadow: inset 4px 0 0 #d3aa2f;
}

body.owner-dashboard-route .topbar {
  min-height: 68px;
  padding: 8px 18px;
}

body.owner-dashboard-route .topbar h1 {
  font-size: 22px;
}

body.owner-dashboard-route .owner-exec-header-compact {
  gap: 14px;
}

body.owner-dashboard-route .owner-exec-header-compact .owner-exec-meta,
body.owner-dashboard-route .owner-exec-header-compact .owner-exec-top-select {
  min-width: auto;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-diagnosis {
  min-height: 58px;
  padding: 8px 12px;
  border-left: 4px solid #d3aa2f;
  box-shadow: none;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-diagnosis > i {
  width: 30px;
  height: 30px;
  color: #353733;
  background: #f7f7f4;
  border-color: #d9dbd5;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-diagnosis strong {
  font-size: 13.5px;
  font-weight: 850;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-diagnosis span {
  gap: 5px;
  margin-top: 4px;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-diagnosis b {
  position: relative;
  padding: 3px 8px 3px 18px;
  border: 1px solid #dddfd8;
  border-radius: 999px;
  background: #fff;
  color: #383b37;
  font-size: 9.5px;
  font-weight: 700;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-diagnosis b::before {
  content: "";
  position: absolute;
  left: 7px;
  top: 50%;
  width: 5px;
  height: 5px;
  border-radius: 999px;
  background: #d3aa2f;
  transform: translateY(-50%);
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-diagnosis button {
  padding: 8px 12px;
  border-color: #cfd3d5;
  background: #fff;
  color: #111;
  font-size: 12px;
  font-weight: 800;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi-grid {
  gap: 9px;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi {
  grid-template-rows: auto auto auto auto auto;
  min-height: 122px;
  padding: 10px 10px 9px;
  border: 1px solid #d7d9d4;
  border-top-width: 3px;
  box-shadow: 0 8px 20px rgba(20, 24, 26, .045);
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi:hover,
body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi:focus-visible {
  transform: translateY(-1px);
  box-shadow: 0 12px 24px rgba(20, 24, 26, .075);
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi span:not(.owner-kpi-visual) {
  color: #535a5f;
  font-size: 8.6px;
  letter-spacing: .055em;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi strong,
body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi.good strong,
body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi.watch strong,
body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi.risk strong {
  color: #070707;
  font-size: clamp(15px, 1.04vw, 18px);
  line-height: 1.04;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi em {
  min-height: 24px;
  color: #586066;
  font-size: 9.8px;
  line-height: 1.18;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi > b {
  color: #3e474d;
  font-size: 9.3px;
  font-weight: 800;
}

body.owner-dashboard-route .owner-kpi-visual,
body.owner-dashboard-route .owner-kpi-visual * {
  box-sizing: border-box;
}

body.owner-dashboard-route .owner-kpi-visual {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2px 8px;
  width: 100%;
  margin-top: 1px;
  color: #687078;
}

body.owner-dashboard-route .owner-kpi-visual i {
  position: relative;
  grid-column: 1 / -1;
  display: block !important;
  width: 100%;
  height: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: #e9edf0;
}

body.owner-dashboard-route .owner-kpi-visual i::before,
body.owner-dashboard-route .owner-kpi-visual i::after {
  content: "";
  position: absolute;
  inset-block: 0;
  left: 0;
  border-radius: inherit;
}

body.owner-dashboard-route .owner-kpi-visual mark {
  position: absolute;
  top: -3px;
  width: 2px;
  height: 13px;
  padding: 0;
  border-radius: 999px;
  background: #141414;
}

body.owner-dashboard-route .owner-kpi-visual small {
  color: #697179;
  font-size: 8.4px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}

body.owner-dashboard-route .owner-kpi-visual small:last-child {
  justify-self: end;
}

body.owner-dashboard-route .kpi-cushion i::before {
  width: var(--current);
  background: #2d6b78;
}

body.owner-dashboard-route .kpi-cushion.risk i::before {
  background: #b94b43;
}

body.owner-dashboard-route .kpi-cushion mark {
  left: var(--threshold);
}

body.owner-dashboard-route .kpi-timeline i::before {
  width: var(--breach);
  background: linear-gradient(90deg, #1f2933, #59707e);
}

body.owner-dashboard-route .kpi-timeline.risk i::before {
  background: linear-gradient(90deg, #1f2933, #b94b43);
}

body.owner-dashboard-route .kpi-timeline mark {
  left: var(--breach);
}

body.owner-dashboard-route .kpi-bridge i {
  background: linear-gradient(90deg, #cbd4da 0 var(--gap), #8eb2bf var(--gap) calc(var(--gap) + var(--funding)), #b94b43 calc(var(--gap) + var(--funding)) 100%);
}

body.owner-dashboard-route .kpi-bridge.good i {
  background: linear-gradient(90deg, #cbd4da 0 var(--gap), #2d7a5d var(--gap) 100%);
}

body.owner-dashboard-route .kpi-composition i {
  background: linear-gradient(90deg, #1f3445 0 var(--raw), #7fa9b8 var(--raw) var(--finished), #d8dee2 var(--finished) 100%);
}

body.owner-dashboard-route .kpi-bullet i::before {
  left: var(--lo);
  width: calc(var(--hi) - var(--lo));
  background: #9fc3ba;
}

body.owner-dashboard-route .kpi-bullet mark {
  left: var(--x);
}

body.owner-dashboard-route .kpi-capacity i::before {
  width: var(--required);
  background: #2d6b78;
}

body.owner-dashboard-route .kpi-capacity i::after {
  width: var(--missing);
  background: rgba(211, 170, 47, .38);
}

body.owner-dashboard-route .kpi-capacity mark {
  left: var(--available);
}

body.owner-dashboard-route .kpi-spark i::before {
  width: var(--prior);
  background: #d5dce1;
}

body.owner-dashboard-route .kpi-spark i::after {
  width: var(--current);
  height: 3px;
  top: 2px;
  background: #2d6b78;
}

body.owner-dashboard-route .kpi-spark.risk i::after {
  background: #b94b43;
}

body.owner-dashboard-route .kpi-spark mark {
  left: var(--prior);
}

body.owner-dashboard-route .kpi-rank i::before {
  width: var(--avg);
  background: #cfd7dc;
}

body.owner-dashboard-route .kpi-rank mark {
  left: var(--value);
  background: #2d6b78;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-main-grid {
  grid-template-columns: minmax(0, 78fr) minmax(282px, 22fr);
  gap: 12px;
  align-items: stretch;
}

body.owner-dashboard-route .owner-approved-operating-graph {
  padding: 12px 12px 14px;
}

body.owner-dashboard-route .owner-approved-operating-graph .owner-exec-panel-head {
  align-items: end;
}

body.owner-dashboard-route .owner-approved-operating-graph .owner-exec-chart-stats {
  gap: 0;
  border-left: 1px solid #d7dad6;
}

body.owner-dashboard-route .owner-approved-operating-graph .owner-exec-chart-stats span {
  padding: 0 10px;
  border: 0;
  border-right: 1px solid #d7dad6;
  border-radius: 0;
  background: transparent;
}

body.owner-dashboard-route .owner-operating-graph .owner-exec-cash-svg.owner-operating-svg {
  min-height: 440px;
  max-height: 462px;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-chart-canvas {
  min-height: 438px;
}

body.owner-dashboard-route .owner-approved-operating-svg .period.forecast {
  fill: rgba(38, 81, 112, .038);
}

body.owner-dashboard-route .owner-approved-operating-svg .forecast-band {
  fill: rgba(74, 105, 128, .16);
}

body.owner-dashboard-route .owner-approved-operating-svg .actual-line {
  stroke: #111;
  stroke-width: 3.1;
}

body.owner-dashboard-route .owner-approved-operating-svg .forecast-line {
  stroke: #274f76;
  stroke-width: 3;
}

body.owner-dashboard-route .owner-approved-operating-svg .reserve {
  stroke: #c29a2d;
  stroke-width: 1.35;
  stroke-dasharray: 5 5;
}

body.owner-dashboard-route .owner-approved-operating-svg .zero {
  stroke: rgba(151, 59, 54, .56);
  stroke-width: 1;
}

body.owner-dashboard-route .owner-approved-operating-svg .tick line {
  stroke: rgba(42, 48, 52, .08);
}

body.owner-dashboard-route .owner-approved-operating-svg .tick text,
body.owner-dashboard-route .owner-approved-operating-svg .reserve-label,
body.owner-dashboard-route .owner-approved-operating-svg .now-label {
  fill: #40474d;
  font-size: 10px;
  font-weight: 740;
}

body.owner-dashboard-route .owner-approved-operating-svg .cash-callout {
  fill: #171717;
  font-size: 10.4px;
  font-weight: 860;
}

body.owner-dashboard-route .owner-approved-operating-svg .cash-callout.low-point {
  fill: #8a3f38;
}

body.owner-dashboard-route .owner-approved-operating-svg .risk-marker {
  fill: rgba(255, 255, 255, .92);
  stroke-width: 2.4;
  pointer-events: none;
}

body.owner-dashboard-route .owner-approved-operating-svg .risk-marker.forecast-low {
  stroke: #b94b43;
}

body.owner-dashboard-route .owner-approved-operating-svg .risk-marker.reserve-breach {
  stroke: #c29a2d;
}

body.owner-dashboard-route .owner-approved-event-marker .event-leader {
  stroke: rgba(50, 58, 64, .24);
  stroke-width: 1;
  stroke-dasharray: 3 4;
}

body.owner-dashboard-route .owner-approved-event-marker .event-halo {
  fill: #fff;
  stroke: #2d3338;
  stroke-width: 1.2;
}

body.owner-dashboard-route .owner-approved-event-marker path,
body.owner-dashboard-route .owner-approved-event-marker rect:not(.event-chip),
body.owner-dashboard-route .owner-approved-event-marker circle:not(.event-halo) {
  fill: #fff;
  stroke: #2d3338;
}

body.owner-dashboard-route .owner-approved-event-marker.collection path,
body.owner-dashboard-route .owner-approved-event-marker.collection rect:not(.event-chip),
body.owner-dashboard-route .owner-approved-event-marker.sale circle:not(.event-halo),
body.owner-dashboard-route .owner-approved-event-marker.sale path {
  stroke: #16834b;
}

body.owner-dashboard-route .owner-approved-event-marker.inventory path,
body.owner-dashboard-route .owner-approved-event-marker.build path {
  stroke: #9a7620;
}

body.owner-dashboard-route .owner-approved-event-marker.payroll rect:not(.event-chip),
body.owner-dashboard-route .owner-approved-event-marker.payroll path {
  stroke: #274f76;
}

body.owner-dashboard-route .owner-approved-event-marker.debt-tax path,
body.owner-dashboard-route .owner-approved-event-marker.debt-tax rect:not(.event-chip) {
  stroke: #a8453d;
}

body.owner-dashboard-route .owner-approved-event-marker.funding circle:not(.event-halo),
body.owner-dashboard-route .owner-approved-event-marker.funding path {
  stroke: #4c5a89;
}

body.owner-dashboard-route .owner-approved-event-marker .event-chip {
  fill: #fff;
  stroke: #cfd5d9;
}

body.owner-dashboard-route .owner-approved-event-marker .event-chip-text {
  fill: #111;
  font-size: 8.1px;
  font-weight: 820;
}

body.owner-dashboard-route .owner-exec-actions-panel {
  min-height: 100%;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi {
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas:
    "label"
    "value"
    "note"
    "visual"
    "delta";
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi > i {
  display: none !important;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi > span:not(.owner-kpi-visual) {
  grid-area: label;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi > strong {
  grid-area: value;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi > em {
  grid-area: note;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi > .owner-kpi-visual {
  grid-area: visual;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi > b {
  grid-area: delta;
}

body.owner-dashboard-route .owner-approved-operating-graph,
body.owner-dashboard-route .owner-exec-actions-panel {
  height: auto;
  min-height: 572px;
  max-height: none;
}

body.owner-dashboard-route .owner-approved-operating-graph .owner-exec-chart-canvas {
  min-height: 462px;
  max-height: none;
}

body.owner-dashboard-route .owner-approved-operating-graph .owner-approved-operating-svg,
body.owner-dashboard-route .owner-operating-graph .owner-exec-cash-svg.owner-operating-svg {
  height: 462px;
  min-height: 462px;
  max-height: 462px;
}

body.owner-dashboard-route .owner-approved-operating-graph .owner-exec-chart-legend {
  position: relative;
  z-index: 1;
  margin-top: 4px;
  padding-bottom: 2px;
  background: #fff;
}

/* Phase 2 visual remediation: lower owner dashboard layer and right-panel polish only. */
body.owner-dashboard-route .owner-exec-actions-panel {
  gap: 8px;
  padding: 11px;
}

body.owner-dashboard-route .owner-exec-actions-panel section {
  gap: 6px;
}

body.owner-dashboard-route .owner-exec-actions-panel h3 {
  color: #111;
  font-size: 11px;
  letter-spacing: .035em;
}

body.owner-dashboard-route .owner-exec-actions-panel h3 em {
  color: #6b7378;
  font-size: 10px;
}

body.owner-dashboard-route .owner-exec-actions-panel ul {
  gap: 4px;
}

body.owner-dashboard-route .owner-exec-actions-panel ul li {
  position: relative;
  padding-left: 10px;
  color: #3c464e;
  font-size: 10.5px;
  line-height: 1.18;
}

body.owner-dashboard-route .owner-exec-actions-panel ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .55em;
  width: 5px;
  height: 5px;
  border-radius: 999px;
  background: #d3aa2f;
}

body.owner-dashboard-route .owner-exec-actions-panel ol {
  gap: 6px;
}

body.owner-dashboard-route .owner-exec-actions-panel ol li {
  grid-template-columns: 22px minmax(0, 1fr);
  grid-template-areas:
    "rank label"
    "rank impact";
  gap: 1px 8px;
  padding: 6px 8px;
  border: 1px solid #e0e2dd;
  border-radius: 8px;
  background: #fff;
}

body.owner-dashboard-route .owner-exec-actions-panel ol span {
  grid-area: rank;
  width: 20px;
  height: 20px;
  align-self: center;
  background: #111;
  font-size: 10px;
}

body.owner-dashboard-route .owner-exec-actions-panel ol b {
  grid-area: label;
  color: #15191d;
  font-size: 11.2px;
  line-height: 1.18;
}

body.owner-dashboard-route .owner-exec-actions-panel ol strong {
  grid-area: impact;
  justify-self: start;
  color: #16834b;
  font-size: 11.4px;
}

body.owner-dashboard-route .owner-exec-actions-panel .btn {
  margin-top: 1px;
  min-height: 33px;
  border-radius: 8px;
}

body.owner-dashboard-route .owner-exec-mini-grid {
  gap: 10px;
  margin-top: 11px;
}

body.owner-dashboard-route .owner-exec-mini-card {
  min-height: 148px;
  padding: 11px;
  border: 1px solid #d9dcd7;
  box-shadow: 0 8px 18px rgba(20, 24, 26, .035);
}

body.owner-dashboard-route .owner-exec-mini-head {
  margin-bottom: 8px;
}

body.owner-dashboard-route .owner-exec-mini-head span {
  color: #111;
  font-size: 10.6px;
  letter-spacing: .04em;
}

body.owner-dashboard-route .owner-exec-mini-head a,
body.owner-dashboard-route .owner-exec-mini-head em {
  color: #42505a;
  font-size: 10px;
  text-decoration: none;
}

body.owner-dashboard-route .owner-exec-mini-card p {
  margin-top: 8px;
  color: #4d565d;
  font-size: 10.8px;
  line-height: 1.28;
}

body.owner-dashboard-route .owner-exec-inventory-funnel {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  align-items: end;
  padding-top: 2px;
}

body.owner-dashboard-route .owner-exec-inventory-funnel span {
  position: relative;
  min-width: 0;
  justify-items: stretch;
  text-align: left;
}

body.owner-dashboard-route .owner-exec-inventory-funnel span:not(:last-child)::after {
  content: "";
  position: absolute;
  right: -5px;
  top: 47px;
  width: 8px;
  height: 1px;
  background: #adb6bb;
}

body.owner-dashboard-route .owner-exec-inventory-funnel i {
  width: 100%;
  height: 42px;
  align-self: end;
  border-radius: 7px 7px 4px 4px;
  background: linear-gradient(180deg, #e9edf0 0 calc(100% - var(--level, 100%)), #1f3445 calc(100% - var(--level, 100%)) 100%);
  clip-path: polygon(5% 0, 95% 0, 78% 100%, 22% 100%);
  box-shadow: inset 0 -10px 18px rgba(255, 255, 255, .22);
}

body.owner-dashboard-route .owner-exec-inventory-funnel .capital i {
  background: linear-gradient(180deg, #e9edf0 0 calc(100% - var(--level, 100%)), #233344 calc(100% - var(--level, 100%)) 100%);
}

body.owner-dashboard-route .owner-exec-inventory-funnel .buildable i {
  background: linear-gradient(180deg, #e9edf0 0 calc(100% - var(--level, 100%)), #b98628 calc(100% - var(--level, 100%)) 100%);
}

body.owner-dashboard-route .owner-exec-inventory-funnel .demand i {
  background: linear-gradient(180deg, #e9edf0 0 calc(100% - var(--level, 100%)), #2d6b78 calc(100% - var(--level, 100%)) 100%);
}

body.owner-dashboard-route .owner-exec-inventory-funnel .cash i {
  background: linear-gradient(180deg, #e9edf0 0 calc(100% - var(--level, 100%)), #16834b calc(100% - var(--level, 100%)) 100%);
  clip-path: polygon(15% 0, 85% 0, 85% 100%, 15% 100%);
}

body.owner-dashboard-route .owner-exec-inventory-funnel b {
  color: #59626a;
  font-size: 8.2px;
  line-height: 1.05;
}

body.owner-dashboard-route .owner-exec-inventory-funnel strong {
  color: #111;
  font-size: 14px;
  line-height: 1.04;
}

body.owner-dashboard-route .owner-exec-inventory-funnel em {
  color: #5d666d;
  font-size: 9.4px;
  line-height: 1.05;
}

body.owner-dashboard-route .owner-exec-labor-hero {
  grid-template-columns: minmax(0, 1fr) 42px minmax(0, 1fr);
  gap: 8px;
  margin-bottom: 8px;
}

body.owner-dashboard-route .owner-exec-cube {
  width: 36px;
  height: 30px;
  background: linear-gradient(145deg, #55606a, #22282f);
}

body.owner-dashboard-route .owner-exec-labor-hero b {
  color: #606972;
  font-size: 9px;
}

body.owner-dashboard-route .owner-exec-labor-hero strong {
  color: #111;
  font-size: 14px;
}

body.owner-dashboard-route .owner-exec-labor-meter {
  position: relative;
  height: 12px;
  margin-top: 8px;
  background: linear-gradient(90deg, #ecf2ef 0 75%, #fff6dc 75% 90%, #fff0ee 90% 100%);
}

body.owner-dashboard-route .owner-exec-labor-meter i {
  background: linear-gradient(90deg, #16834b, #2d6b78);
}

body.owner-dashboard-route .owner-exec-labor-meter mark {
  position: absolute;
  left: 75%;
  top: -3px;
  width: 2px;
  height: 18px;
  padding: 0;
  border-radius: 999px;
  background: #111;
}

body.owner-dashboard-route .owner-exec-labor-foot {
  gap: 6px;
  margin-top: 8px;
}

body.owner-dashboard-route .owner-exec-labor-foot span {
  padding: 5px 6px;
  border: 1px solid #e2e5df;
  border-radius: 7px;
  background: #fbfbf8;
  font-size: 9.6px;
}

body.owner-dashboard-route .owner-exec-demand-card .owner-exec-demand-grid {
  grid-template-columns: .9fr .72fr;
  gap: 6px;
}

body.owner-dashboard-route .owner-exec-demand-card .owner-exec-demand-grid span {
  padding: 7px;
  border-color: #e2e5df;
  background: #fbfbf8;
}

body.owner-dashboard-route .owner-exec-demand-card .owner-exec-demand-grid strong {
  color: #111;
  font-size: 15px;
}

body.owner-dashboard-route .owner-exec-demand-card .owner-exec-spark {
  height: 30px;
  margin: 2px 0 4px;
}

body.owner-dashboard-route .owner-exec-demand-card .owner-exec-spark polyline {
  stroke: #2d6b78;
  stroke-width: 2.4;
}

body.owner-dashboard-route .owner-exec-demand-card .owner-exec-spark circle {
  fill: #fff;
  stroke: #2d6b78;
  stroke-width: 1.2;
}

body.owner-dashboard-route .owner-exec-demand-bars {
  gap: 4px;
}

body.owner-dashboard-route .owner-exec-demand-bars span {
  grid-template-columns: minmax(0, .95fr) minmax(58px, 1fr) 42px;
  gap: 6px;
}

body.owner-dashboard-route .owner-exec-demand-bars i {
  height: 7px;
  background: #e7ecef;
}

body.owner-dashboard-route .owner-exec-demand-bars i::before {
  background: #2d6b78;
}

body.owner-dashboard-route .owner-exec-priority-list {
  gap: 5px;
}

body.owner-dashboard-route .owner-exec-priority-list > span {
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 4px 0;
  border-bottom-color: #e9ebe6;
}

body.owner-dashboard-route .owner-exec-priority-list b {
  gap: 6px;
  font-size: 10.8px;
}

body.owner-dashboard-route .owner-exec-priority-list b > i {
  display: grid;
  place-items: center;
  width: 17px;
  height: 17px;
  flex: 0 0 auto;
  border-radius: 999px;
  background: #111;
  color: #fff;
  font-size: 9px;
  font-style: normal;
  font-weight: 850;
}

body.owner-dashboard-route .owner-exec-priority-list em {
  min-width: 72px;
  padding: 3px 7px;
  font-size: 9.4px;
}

body.owner-dashboard-route .owner-exec-product-decision-table {
  margin-top: 10px;
}

body.owner-dashboard-route .owner-product-decision-grid {
  border: 1px solid #dcded9;
  border-radius: 9px;
  overflow: hidden;
}

body.owner-dashboard-route .owner-product-decision-grid .head,
body.owner-dashboard-route .owner-product-decision-grid .owner-product-priority-row {
  grid-template-columns: 1.35fr .72fr .88fr .66fr .72fr .9fr;
}

body.owner-dashboard-route .owner-product-decision-grid .head {
  background: #f4f5f2;
  color: #3f454a;
}

body.owner-dashboard-route .owner-product-decision-grid .head span {
  border-color: #e4e6e1;
  color: #4f575e;
  font-size: 9.8px;
  letter-spacing: .035em;
}

body.owner-dashboard-route .owner-product-decision-grid .owner-product-priority-row {
  min-height: 35px;
  border-top: 1px solid #eceee9;
  background: #fff;
}

body.owner-dashboard-route .owner-product-decision-grid .owner-product-priority-row:hover,
body.owner-dashboard-route .owner-product-decision-grid .owner-product-priority-row:focus-visible {
  background: #fafbf8;
}

body.owner-dashboard-route .owner-product-decision-grid .owner-product-priority-row > * {
  padding: 6px 8px;
  border-right-color: #eeeeea;
}

body.owner-dashboard-route .owner-product-decision-grid .owner-product-priority-row > strong {
  justify-self: stretch;
  text-align: right;
}

body.owner-dashboard-route .owner-product-decision-grid .owner-product-priority-row > em {
  justify-self: start;
  align-self: center;
  min-width: 72px;
  font-size: 9.6px;
}

body.owner-dashboard-route .owner-table-cover {
  display: grid;
  gap: 3px;
}

body.owner-dashboard-route .owner-table-cover b {
  font: inherit;
}

body.owner-dashboard-route .owner-table-cover i {
  display: block;
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg, #2d6b78 0 var(--w), #e6eaed var(--w) 100%);
}

body.owner-dashboard-route .owner-weekly-rhythm-panel {
  margin-top: 10px;
  padding: 11px;
}

body.owner-dashboard-route .owner-weekly-rhythm-calendar {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  border: 0;
}

body.owner-dashboard-route .owner-weekly-rhythm-calendar .owner-weekly-rhythm-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 7px;
  min-height: 96px;
  padding: 9px;
  border: 1px solid #dfe2dd;
  border-left: 3px solid #b8bdb7;
  border-radius: 9px;
  background: #fff;
  color: #111;
  text-align: left;
}

body.owner-dashboard-route .owner-weekly-rhythm-calendar .owner-weekly-rhythm-row.good {
  border-left-color: #16834b;
}

body.owner-dashboard-route .owner-weekly-rhythm-calendar .owner-weekly-rhythm-row.watch {
  border-left-color: #d3aa2f;
}

body.owner-dashboard-route .owner-weekly-rhythm-calendar .owner-weekly-rhythm-row.risk {
  border-left-color: #b94b43;
}

body.owner-dashboard-route .owner-weekly-rhythm-calendar .owner-weekly-rhythm-row > span {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 0;
  border: 0;
  font-size: 10.5px;
}

body.owner-dashboard-route .owner-weekly-rhythm-calendar .owner-weekly-rhythm-row > span:first-child {
  grid-column: 1;
}

body.owner-dashboard-route .owner-weekly-rhythm-calendar .owner-weekly-rhythm-row > span:nth-child(2),
body.owner-dashboard-route .owner-weekly-rhythm-calendar .owner-weekly-rhythm-row > span:nth-child(3) {
  grid-column: 1 / -1;
}

body.owner-dashboard-route .owner-weekly-rhythm-calendar .owner-weekly-rhythm-row b {
  overflow: hidden;
  color: #111;
  font-size: 11px;
  font-weight: 820;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.owner-dashboard-route .owner-weekly-rhythm-calendar .owner-weekly-rhythm-row small {
  color: #697078;
  font-size: 9.4px;
  font-weight: 700;
}

body.owner-dashboard-route .owner-weekly-rhythm-calendar .owner-weekly-rhythm-row strong {
  grid-column: 2;
  grid-row: 1;
  justify-self: end;
  color: #111;
  font-size: 11px;
}

body.owner-dashboard-route .owner-weekly-rhythm-calendar .owner-weekly-rhythm-row em {
  justify-self: start;
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 9.6px;
}

body.owner-dashboard-route .owner-exec-deep-dives {
  margin-top: 10px;
  padding: 9px 10px;
  border-color: #e1e4df;
  background: #fbfbf8;
}

body.owner-dashboard-route .owner-exec-deep-dives > div:last-child {
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 6px;
}

body.owner-dashboard-route .owner-exec-deep-dives a {
  grid-template-columns: 18px minmax(0, 1fr);
  min-height: 38px;
  padding: 6px 7px;
  border-color: #e1e4df;
  border-radius: 7px;
  background: #fff;
}

body.owner-dashboard-route .owner-exec-deep-dives i {
  width: 18px;
  height: 18px;
  border-radius: 5px;
  background: #f0f2ef;
  color: #30373d;
}

body.owner-dashboard-route .owner-exec-deep-dives i svg {
  width: 12px;
  height: 12px;
}

body.owner-dashboard-route .owner-exec-deep-dives span {
  font-size: 10.5px;
}

body.owner-dashboard-route .owner-exec-deep-dives em {
  display: none;
}

/* Phase 3 popup proof visuals: body-only remediation. */
.owner-popup-workspace.week-story-proof,
.owner-popup-workspace.week-conversion-story,
.owner-popup-workspace.event-detail,
.owner-popup-workspace.product-decision-story {
  gap: 13px;
}

.owner-week-story-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
  gap: 12px;
  align-items: stretch;
}

.owner-week-operating-story {
  display: grid;
  gap: 11px;
  padding: 12px;
  border: 1px solid #deded8;
  border-radius: 9px;
  background: #fff;
}

.owner-week-operating-story header {
  display: grid;
  gap: 2px;
  padding-bottom: 8px;
  border-bottom: 1px solid #ededeb;
}

.owner-week-operating-story header b,
.owner-week-event-stack h4,
.owner-week-what-changed b,
.owner-conversion-product-proof h4,
.owner-event-cluster h4,
.owner-event-specific h4 {
  color: #22221f;
  font-size: 11px;
  font-weight: 860;
  text-transform: uppercase;
}

.owner-week-operating-story header span {
  color: #66665f;
  font-size: 11px;
  font-weight: 650;
}

.owner-week-operating-story > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.owner-week-operating-story > div span {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 9px;
  border-radius: 8px;
  background: #f7f8f5;
}

.owner-week-operating-story > div b {
  color: #686861;
  font-size: 10px;
  font-weight: 820;
  text-transform: uppercase;
}

.owner-week-operating-story > div strong {
  color: #111;
  font-size: 15px;
  font-weight: 860;
}

.owner-week-event-stack {
  display: grid;
  gap: 8px;
  padding: 11px;
  border: 1px solid #deded8;
  border-radius: 9px;
  background: #fff;
}

.owner-week-event-stack header {
  display: grid;
  gap: 2px;
}

.owner-week-event-stack header span {
  color: #686861;
  font-size: 11px;
  font-weight: 650;
}

.owner-week-event-stack article {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) auto auto;
  gap: 10px;
  align-items: center;
  padding: 8px 0;
  border-top: 1px solid #f0f0ed;
}

.owner-week-event-stack article:first-of-type {
  border-top: 0;
}

.owner-week-event-stack i {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 999px;
  background: #f2f4f5;
  color: #24313a;
}

.owner-week-event-stack svg {
  width: 14px;
  height: 14px;
}

.owner-week-event-stack svg path,
.owner-week-event-stack svg circle {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.owner-week-event-stack b,
.owner-event-cluster b {
  overflow: hidden;
  color: #111;
  font-size: 12px;
  font-weight: 820;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.owner-week-event-stack span,
.owner-event-cluster span {
  color: #111;
  font-size: 12px;
  font-weight: 820;
}

.owner-week-event-stack em,
.owner-event-cluster em {
  color: #686861;
  font-size: 11px;
  font-style: normal;
  font-weight: 650;
}

.owner-week-what-changed {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.owner-week-what-changed article {
  display: grid;
  gap: 5px;
  padding: 11px 12px;
  border: 1px solid #deded8;
  border-radius: 9px;
  background: #fbfbf8;
}

.owner-week-what-changed p {
  margin: 0;
  color: #4e4e48;
  font-size: 12px;
  line-height: 1.35;
}

.owner-week-conversion-flow {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.owner-week-conversion-flow button {
  display: grid;
  gap: 7px;
  min-height: 112px;
  padding: 11px;
  border: 1px solid #deded8;
  border-radius: 10px;
  background: #fff;
  color: #111;
  text-align: left;
  cursor: pointer;
}

.owner-week-conversion-flow button.active,
.owner-week-conversion-flow button:focus-visible {
  border-color: #111;
  outline: none;
  box-shadow: inset 0 0 0 1px #111;
}

.owner-week-conversion-flow b {
  color: #4f4f49;
  font-size: 10px;
  font-weight: 860;
  text-transform: uppercase;
}

.owner-week-conversion-flow i {
  display: block;
  width: 100%;
  height: 8px;
  border-radius: 999px;
  background: linear-gradient(90deg, #2d6b78 0 var(--stage), #e7ebed var(--stage) 100%);
}

.owner-week-conversion-flow .build i { background: linear-gradient(90deg, #555f68 0 var(--stage), #e7ebed var(--stage) 100%); }
.owner-week-conversion-flow .sales i { background: linear-gradient(90deg, #16834b 0 var(--stage), #e7ebed var(--stage) 100%); }
.owner-week-conversion-flow .cash i { background: linear-gradient(90deg, #0d6c7c 0 var(--stage), #e7ebed var(--stage) 100%); }

.owner-week-conversion-flow strong {
  color: #111;
  font-size: 17px;
  font-weight: 880;
}

.owner-week-conversion-flow em {
  color: #66665f;
  font-size: 11px;
  font-style: normal;
  font-weight: 650;
}

.owner-stage-detail {
  padding: 11px 12px;
}

.owner-stage-detail b {
  color: #111;
  font-size: 13px;
  font-weight: 850;
}

.owner-stage-detail p {
  margin: 4px 0 0;
  color: #53534d;
  font-size: 12px;
  line-height: 1.35;
}

.owner-conversion-product-proof {
  display: grid;
  gap: 8px;
  padding: 11px;
  border: 1px solid #deded8;
  border-radius: 9px;
  background: #fff;
}

.owner-conversion-product-proof article {
  display: grid;
  grid-template-columns: minmax(150px, 1.1fr) minmax(120px, .9fr) minmax(90px, 1fr) auto auto;
  gap: 10px;
  align-items: center;
  padding: 7px 0;
  border-top: 1px solid #f0f0ed;
}

.owner-conversion-product-proof article:first-of-type {
  border-top: 0;
}

.owner-conversion-product-proof article > i {
  display: block;
  width: 100%;
  height: 6px;
  border-radius: 999px;
  background: linear-gradient(90deg, #2d6b78 0 var(--w), #ecefea var(--w) 100%);
}

.owner-conversion-product-proof b,
.owner-conversion-product-proof strong,
.owner-conversion-product-proof em,
.owner-conversion-product-proof span {
  min-width: 0;
  font-size: 11px;
}

.owner-conversion-product-proof b,
.owner-conversion-product-proof strong {
  color: #111;
  font-weight: 830;
}

.owner-conversion-product-proof em,
.owner-conversion-product-proof span {
  color: #62625c;
  font-style: normal;
  font-weight: 650;
}

.owner-event-impact-card {
  display: grid;
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
  gap: 10px;
  align-items: stretch;
}

.owner-event-amount,
.owner-event-context {
  border: 1px solid #deded8;
  border-radius: 10px;
  background: #fff;
}

.owner-event-amount {
  display: grid;
  gap: 8px;
  align-content: center;
  padding: 14px;
}

.owner-event-amount span,
.owner-event-context b {
  color: #686861;
  font-size: 10px;
  font-weight: 860;
  text-transform: uppercase;
}

.owner-event-amount strong {
  color: #111;
  font-size: 25px;
  font-weight: 880;
}

.owner-event-amount i {
  display: block;
  width: 100%;
  height: 8px;
  border-radius: 999px;
  background: linear-gradient(90deg, #16834b 0 var(--w), #e8ece7 var(--w) 100%);
}

.owner-event-amount.outflow i {
  background: linear-gradient(90deg, #b94b43 0 var(--w), #ecebea var(--w) 100%);
}

.owner-event-context {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
}

.owner-event-context span {
  display: grid;
  gap: 4px;
  padding: 13px 12px;
  border-left: 1px solid #efefeb;
}

.owner-event-context span:first-child {
  border-left: 0;
}

.owner-event-context strong {
  color: #111;
  font-size: 13px;
  font-weight: 820;
}

.owner-event-cluster {
  display: grid;
  gap: 7px;
  padding: 11px;
  border: 1px solid #deded8;
  border-radius: 9px;
  background: #fbfbf8;
}

.owner-event-cluster article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 10px;
  padding-top: 7px;
  border-top: 1px solid #ecece8;
}

.owner-event-cluster article:first-of-type {
  border-top: 0;
}

.owner-event-specific {
  display: grid;
  gap: 8px;
  padding: 11px;
  border: 1px solid #deded8;
  border-radius: 9px;
  background: #fff;
}

.owner-event-specific > div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.owner-event-specific span {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 9px;
  border-radius: 8px;
  background: #f7f8f5;
}

.owner-event-specific b {
  color: #5c625f;
  font-size: 10px;
  font-weight: 850;
  text-transform: uppercase;
}

.owner-event-specific strong {
  overflow: hidden;
  color: #111;
  font-size: 13px;
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.owner-event-specific em {
  color: #66665f;
  font-size: 11px;
  font-style: normal;
  font-weight: 650;
}

.owner-product-decision-hero {
  display: grid;
  grid-template-columns: minmax(230px, 1.25fr) repeat(3, minmax(130px, .75fr));
  gap: 9px;
}

.owner-product-decision-hero > div,
.owner-product-decision-hero article {
  min-width: 0;
  border: 1px solid #deded8;
  border-radius: 10px;
  background: #fff;
}

.owner-product-decision-hero > div {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 11px 12px;
}

.owner-product-decision-hero > div span,
.owner-product-decision-hero article {
  display: grid;
  gap: 4px;
}

.owner-product-decision-hero > div b {
  color: #111;
  font-size: 17px;
  font-weight: 880;
}

.owner-product-decision-hero > div em,
.owner-product-decision-hero small {
  color: #66665f;
  font-size: 11px;
  font-style: normal;
  font-weight: 650;
}

.owner-product-decision-hero article {
  padding: 11px;
}

.owner-product-decision-hero article b {
  color: #686861;
  font-size: 10px;
  font-weight: 860;
  text-transform: uppercase;
}

.owner-product-decision-hero article strong {
  color: #111;
  font-size: 16px;
  font-weight: 880;
}

.owner-product-decision-tabs {
  display: grid;
  gap: 10px;
  padding: 11px;
  border: 1px solid #deded8;
  border-radius: 10px;
  background: #fbfbf8;
}

.owner-product-story {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(240px, .72fr);
  gap: 11px;
  align-items: stretch;
}

.owner-product-story > article,
.owner-product-story-bars,
.owner-product-tank,
.owner-product-labor-meter,
.owner-product-econ-bars,
.owner-product-cash-bridge,
.owner-product-assumption-grid {
  border: 1px solid #deded8;
  border-radius: 9px;
  background: #fff;
}

.owner-product-story > article {
  display: grid;
  gap: 6px;
  align-content: center;
  padding: 12px;
}

.owner-product-story > article b,
.owner-product-assumption-grid b {
  color: #686861;
  font-size: 10px;
  font-weight: 860;
  text-transform: uppercase;
}

.owner-product-story > article strong,
.owner-product-assumption-grid strong {
  color: #111;
  font-size: 17px;
  font-weight: 880;
}

.owner-product-story > article p {
  margin: 0;
  color: #54544e;
  font-size: 12px;
  line-height: 1.35;
}

.owner-product-story-bars,
.owner-product-econ-bars {
  display: grid;
  gap: 8px;
  padding: 12px;
}

.owner-product-story-bars span,
.owner-product-econ-bars span {
  display: grid;
  grid-template-columns: minmax(100px, .45fr) minmax(0, 1fr) auto;
  gap: 9px;
  align-items: center;
}

.owner-product-story-bars b,
.owner-product-econ-bars b {
  color: #4f4f49;
  font-size: 11px;
  font-weight: 830;
}

.owner-product-story-bars i,
.owner-product-econ-bars i {
  display: block;
  width: 100%;
  height: 8px;
  border-radius: 999px;
  background: linear-gradient(90deg, #2d6b78 0 var(--w), #e7ebed var(--w) 100%);
}

.owner-product-story-bars strong,
.owner-product-econ-bars strong {
  color: #111;
  font-size: 12px;
  font-weight: 850;
}

.owner-product-tank {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  gap: 12px;
  align-items: stretch;
  padding: 12px;
}

.owner-product-tank > span {
  position: relative;
  display: block;
  min-height: 150px;
  border: 1px solid #d9dedb;
  border-radius: 12px;
  background: linear-gradient(180deg, #fbfcfb, #f1f4f2);
  overflow: hidden;
}

.owner-product-tank > span i {
  position: absolute;
  inset: auto 0 0;
  height: var(--h);
  background: linear-gradient(180deg, rgba(45, 107, 120, .55), rgba(45, 107, 120, .9));
}

.owner-product-tank > span b {
  position: absolute;
  inset: auto 9px 8px;
  color: #fff;
  font-size: 14px;
  font-weight: 880;
}

.owner-product-tank article {
  display: grid;
  gap: 7px;
  align-content: center;
}

.owner-product-tank article b {
  color: #111;
  font-size: 15px;
}

.owner-product-tank article p {
  margin: 0;
  color: #55554f;
  font-size: 12px;
}

.owner-product-labor-meter {
  display: grid;
  gap: 10px;
  padding: 12px;
}

.owner-product-labor-meter span {
  display: grid;
  grid-template-columns: minmax(80px, .35fr) minmax(0, 1fr) auto;
  gap: 9px;
  align-items: center;
}

.owner-product-labor-meter b {
  color: #4f4f49;
  font-size: 11px;
  font-weight: 820;
}

.owner-product-labor-meter i {
  display: block;
  width: 100%;
  height: 9px;
  border-radius: 999px;
  background: linear-gradient(90deg, #111 0 var(--w), #e7ebed var(--w) 100%);
}

.owner-product-labor-meter em {
  color: #111;
  font-size: 12px;
  font-style: normal;
  font-weight: 830;
}

.owner-product-cash-bridge {
  display: grid;
  gap: 8px;
  padding: 12px;
}

.owner-product-cash-bridge span {
  display: grid;
  grid-template-columns: minmax(120px, .45fr) minmax(0, 1fr) auto;
  gap: 9px;
  align-items: center;
}

.owner-product-cash-bridge span::before {
  content: "";
  display: block;
  grid-column: 2;
  grid-row: 1;
  width: var(--w);
  height: 9px;
  border-radius: 999px;
  background: #2d6b78;
}

.owner-product-cash-bridge b {
  color: #4f4f49;
  font-size: 11px;
  font-weight: 820;
}

.owner-product-cash-bridge strong {
  color: #111;
  font-size: 12px;
  font-weight: 850;
}

.owner-product-assumption-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  padding: 12px;
}

.owner-product-assumption-grid span {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 9px;
  border-radius: 8px;
  background: #f7f8f5;
}

@media (max-width: 900px) {
  .owner-week-story-layout,
  .owner-event-impact-card,
  .owner-product-story,
  .owner-product-decision-hero {
    grid-template-columns: 1fr;
  }

  .owner-week-conversion-flow,
  .owner-event-context,
  .owner-event-specific > div,
  .owner-product-assumption-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Owner dashboard: target cash graph. */
body.owner-dashboard-route .owner-target-cash-graph.owner-approved-operating-graph {
  align-self: start;
  height: auto;
  min-height: 0;
  max-height: none;
  padding: 10px 12px 12px;
}

body.owner-dashboard-route .owner-target-cash-graph .owner-exec-chart-canvas {
  height: 368px;
  min-height: 368px;
  max-height: 368px;
  border: 0;
  border-top: 1px solid #ecece8;
  border-radius: 0;
  background: #fff;
  overflow: hidden;
}

body.owner-dashboard-route .owner-target-cash-graph .owner-exec-cash-svg.owner-operating-svg.owner-target-operating-svg {
  display: block;
  width: 100%;
  height: 368px;
  min-height: 368px;
  max-height: 368px;
  aspect-ratio: auto;
}

body.owner-dashboard-route .owner-target-graph-head {
  align-items: center;
  margin-bottom: 4px;
}

body.owner-dashboard-route .owner-target-graph-head .owner-exec-chart-stats {
  align-self: center;
  gap: 0;
  padding-left: 10px;
  border-left: 1px solid #deded8;
}

body.owner-dashboard-route .owner-target-graph-head .owner-exec-chart-stats span {
  padding: 0 10px;
  border: 0;
  border-right: 1px solid #deded8;
  border-radius: 0;
  background: transparent;
  color: #171717;
  font-size: 10px;
  letter-spacing: .02em;
  text-transform: uppercase;
}

body.owner-dashboard-route .owner-target-graph-head .owner-exec-chart-stats b {
  color: #111;
  font-weight: 880;
}

body.owner-dashboard-route .owner-target-graph-toolbar {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  min-height: 24px;
  margin: 3px 0 5px;
}

body.owner-dashboard-route .owner-target-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 13px;
  align-items: center;
  padding: 0;
  color: #2f3b46;
  font-size: 10px;
  font-weight: 700;
}

body.owner-dashboard-route .owner-target-legend span,
body.owner-dashboard-route .owner-graph-scenario-toggle {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
}

body.owner-dashboard-route .owner-target-legend span {
  gap: 5px;
}

body.owner-dashboard-route .owner-target-legend i {
  display: inline-block;
  width: 16px;
  height: 8px;
  border-radius: 2px;
}

body.owner-dashboard-route .owner-target-cash-graph .owner-target-legend i.actual,
body.owner-dashboard-route .owner-target-cash-graph .owner-target-legend i.forecast,
body.owner-dashboard-route .owner-target-cash-graph .owner-target-legend i.available {
  width: 21px;
  height: 2px;
}

body.owner-dashboard-route .owner-target-cash-graph .owner-target-legend i.actual {
  background: #111;
}

body.owner-dashboard-route .owner-target-cash-graph .owner-target-legend i.forecast {
  background: repeating-linear-gradient(90deg, #2d63b8 0 7px, transparent 7px 11px);
}

body.owner-dashboard-route .owner-target-cash-graph .owner-target-legend i.available {
  background: repeating-linear-gradient(90deg, #16834b 0 7px, transparent 7px 11px);
}

body.owner-dashboard-route .owner-target-cash-graph .owner-target-legend i.healthy {
  border: 1px solid rgba(22, 131, 75, .18);
  background: rgba(22, 131, 75, .14);
}

body.owner-dashboard-route .owner-target-cash-graph .owner-target-legend i.caution {
  border: 1px solid rgba(181, 107, 20, .18);
  background: rgba(214, 181, 54, .24);
}

body.owner-dashboard-route .owner-target-cash-graph .owner-target-legend i.shortage {
  border: 1px solid rgba(200, 58, 46, .2);
  background: rgba(200, 58, 46, .18);
}

body.owner-dashboard-route .owner-target-cash-graph .owner-target-legend i.cash-event {
  width: 10px;
  height: 10px;
  border: 1.5px solid #16834b;
  border-radius: 999px;
  background: #fff;
}

body.owner-dashboard-route .owner-graph-scenario-toggle {
  gap: 6px;
  min-height: 24px;
  padding: 3px 8px;
  border: 1px solid #dfe4e5;
  border-radius: 7px;
  background: #fff;
  color: #26323a;
  font-size: 10px;
  font-weight: 760;
}

body.owner-dashboard-route .owner-graph-scenario-toggle svg {
  width: 12px;
  height: 12px;
}

body.owner-dashboard-route .owner-graph-scenario-toggle svg path,
body.owner-dashboard-route .owner-graph-scenario-toggle svg circle {
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

body.owner-dashboard-route .owner-target-operating-svg .period.actual,
body.owner-dashboard-route .owner-target-operating-svg .period.forecast {
  fill: transparent;
}

body.owner-dashboard-route .owner-target-operating-svg .zone.healthy { fill: rgba(22, 131, 75, .105); }
body.owner-dashboard-route .owner-target-operating-svg .zone.caution { fill: rgba(214, 181, 54, .18); }
body.owner-dashboard-route .owner-target-operating-svg .zone.shortage { fill: rgba(200, 58, 46, .105); }

body.owner-dashboard-route .owner-target-operating-svg .tick line {
  stroke: rgba(31, 41, 55, .09);
  stroke-dasharray: 3 5;
}

body.owner-dashboard-route .owner-target-operating-svg .tick text {
  fill: #313942;
  font-size: 9.5px;
  font-weight: 760;
}

body.owner-dashboard-route .owner-target-operating-svg .axis {
  stroke: #111;
  stroke-width: 1.2;
}

body.owner-dashboard-route .owner-target-operating-svg .zero,
body.owner-dashboard-route .owner-target-operating-svg .reserve,
body.owner-dashboard-route .owner-target-operating-svg .now {
  stroke-width: 1;
  stroke-dasharray: 5 5;
}

body.owner-dashboard-route .owner-target-operating-svg .zero { stroke: rgba(200, 58, 46, .55); }
body.owner-dashboard-route .owner-target-operating-svg .reserve { stroke: #b6861f; stroke-width: 1.2; }
body.owner-dashboard-route .owner-target-operating-svg .now { stroke: #101010; stroke-dasharray: 2 3; }

body.owner-dashboard-route .owner-target-operating-svg .reserve-label,
body.owner-dashboard-route .owner-target-operating-svg .reserve-value,
body.owner-dashboard-route .owner-target-operating-svg .zero-label {
  font-size: 9px;
  font-weight: 830;
  text-anchor: end;
}

body.owner-dashboard-route .owner-target-operating-svg .reserve-label,
body.owner-dashboard-route .owner-target-operating-svg .reserve-value { fill: #16834b; }
body.owner-dashboard-route .owner-target-operating-svg .zero-label { fill: #c83a2e; }

body.owner-dashboard-route .owner-target-operating-svg .now-label,
body.owner-dashboard-route .owner-target-operating-svg .now-date,
body.owner-dashboard-route .owner-target-operating-svg .period-label {
  fill: #2f3942;
  font-size: 10px;
  font-weight: 850;
  text-anchor: middle;
  text-transform: uppercase;
}

body.owner-dashboard-route .owner-target-operating-svg .now-date {
  font-size: 11px;
  text-transform: none;
}

body.owner-dashboard-route .owner-target-operating-svg .period-label {
  fill: #59636e;
  font-size: 9px;
  letter-spacing: .06em;
}

body.owner-dashboard-route .owner-target-operating-svg .forecast-band {
  fill: rgba(73, 116, 143, .13);
  stroke: none;
}

body.owner-dashboard-route .owner-target-operating-svg .actual-line,
body.owner-dashboard-route .owner-target-operating-svg .forecast-line,
body.owner-dashboard-route .owner-target-operating-svg .available-line {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body.owner-dashboard-route .owner-target-operating-svg .actual-line {
  stroke: #111;
  stroke-width: 2.5;
}

body.owner-dashboard-route .owner-target-operating-svg .forecast-line {
  stroke: #2d63b8;
  stroke-dasharray: 7 5;
  stroke-width: 2.1;
}

body.owner-dashboard-route .owner-target-operating-svg .available-line {
  stroke: #16834b;
  stroke-dasharray: 7 5;
  stroke-width: 1.55;
}

body.owner-dashboard-route .owner-target-operating-svg .owner-exec-point circle {
  fill: #fff;
  stroke-width: 1.45;
}

body.owner-dashboard-route .owner-target-operating-svg .owner-exec-point.actual circle { stroke: #111; }
body.owner-dashboard-route .owner-target-operating-svg .owner-exec-point.forecast circle { stroke: #2d63b8; }

body.owner-dashboard-route .owner-target-operating-svg .owner-exec-point.current circle {
  fill: #111;
  stroke: #111;
}

body.owner-dashboard-route .owner-target-operating-svg .owner-exec-point text {
  display: block;
  fill: #334155;
  font-size: 8.6px;
  font-weight: 720;
  text-anchor: middle;
}

body.owner-dashboard-route .owner-target-operating-svg .band-label.cash-position-label {
  fill: #111;
  font-size: 10px;
  font-weight: 860;
  text-transform: uppercase;
}

body.owner-dashboard-route .owner-target-event-card .event-leader,
body.owner-dashboard-route .owner-target-operating-svg .lowest-cash-callout line {
  stroke: rgba(43, 52, 58, .4);
  stroke-width: 1;
}

body.owner-dashboard-route .owner-target-event-card .event-card-bg {
  fill: #fff;
  stroke: #d5d9d6;
  stroke-width: 1;
  filter: drop-shadow(0 1px 1px rgba(17, 17, 17, .08));
}

body.owner-dashboard-route .owner-target-event-card.collection .event-card-bg,
body.owner-dashboard-route .owner-target-event-card.funding .event-card-bg {
  fill: #f7fcf8;
}

body.owner-dashboard-route .owner-target-event-card.inventory .event-card-bg,
body.owner-dashboard-route .owner-target-event-card.payroll .event-card-bg,
body.owner-dashboard-route .owner-target-event-card.debt-tax .event-card-bg {
  fill: #fffaf2;
}

body.owner-dashboard-route .owner-target-event-card .event-icon {
  opacity: .98;
}

body.owner-dashboard-route .owner-target-event-card .event-icon path,
body.owner-dashboard-route .owner-target-event-card .event-icon rect,
body.owner-dashboard-route .owner-target-event-card .event-icon circle {
  fill: none;
  stroke: #2f7b51;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.55;
  vector-effect: non-scaling-stroke;
}

body.owner-dashboard-route .owner-target-event-card.inventory .event-icon path,
body.owner-dashboard-route .owner-target-event-card.inventory .event-icon rect,
body.owner-dashboard-route .owner-target-event-card.inventory .event-icon circle,
body.owner-dashboard-route .owner-target-event-card.payroll .event-icon path,
body.owner-dashboard-route .owner-target-event-card.payroll .event-icon rect,
body.owner-dashboard-route .owner-target-event-card.payroll .event-icon circle,
body.owner-dashboard-route .owner-target-event-card.debt-tax .event-icon path,
body.owner-dashboard-route .owner-target-event-card.debt-tax .event-icon rect,
body.owner-dashboard-route .owner-target-event-card.debt-tax .event-icon circle {
  stroke: #b56b25;
}

body.owner-dashboard-route .owner-target-event-card .event-title {
  fill: #111;
  font-size: 8.7px;
  font-weight: 850;
}

body.owner-dashboard-route .owner-target-event-card .event-amount {
  fill: #313b45;
  font-size: 8.5px;
  font-weight: 700;
}

body.owner-dashboard-route .owner-target-operating-svg .lowest-cash-callout rect {
  fill: #fff7f6;
  stroke: #f2bbb6;
  stroke-width: 1;
}

body.owner-dashboard-route .owner-target-operating-svg .lowest-point-icon circle {
  fill: #d83b31;
  stroke: #fff;
  stroke-width: 1.5;
}

body.owner-dashboard-route .owner-target-operating-svg .lowest-point-icon text {
  fill: #fff;
  font-size: 10px;
  font-weight: 900;
  text-anchor: middle;
}

body.owner-dashboard-route .owner-target-operating-svg .lowest-warning-icon {
  fill: #fff2f0;
  stroke: #d83b31;
  stroke-linejoin: round;
  stroke-width: 1.2;
}

body.owner-dashboard-route .owner-target-operating-svg .lowest-warning-mark {
  fill: #d83b31;
  font-size: 8.5px;
  font-weight: 900;
  text-anchor: middle;
}

body.owner-dashboard-route .owner-target-operating-svg .lowest-cash-callout text {
  fill: #c83a2e;
  font-size: 8.8px;
  font-weight: 840;
  text-anchor: middle;
}

body.owner-dashboard-route .owner-target-operating-svg .cash-callout.intervention-week {
  fill: #a23d34;
  font-size: 8.8px;
  font-weight: 840;
}

body.owner-dashboard-route .owner-target-cash-graph .owner-exec-chart-hotspot.event-card-hit {
  width: var(--hit-w, 124px);
  height: var(--hit-h, 42px);
  border-radius: 7px;
}

body.owner-dashboard-route .owner-target-graph-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 4px 2px 0;
  color: #58636e;
  font-size: 10px;
  font-weight: 700;
}

body.owner-dashboard-route .owner-target-graph-footer em {
  color: #111;
  font-style: normal;
  font-weight: 760;
}

/* Executive popup shell and Phase 1 Financial Safety proof view. */
.owner-popup-modal.owner-executive-modal {
  position: relative;
  display: flex;
  flex-direction: column;
  width: min(92vw, 1520px, calc(100vw - 284px));
  height: min(90vh, 980px);
  max-height: 90vh;
  border: 1px solid #d7dad7;
  border-radius: 10px;
  background: #fff;
}

.owner-popup-modal.owner-executive-modal::before {
  height: 4px;
  background: linear-gradient(90deg, #d5aa2f 0 56px, #151515 56px 100%);
}

.owner-popup-modal.owner-executive-modal h3 {
  min-height: 54px;
  padding: 12px 58px 11px 18px;
  border-bottom: 1px solid #deded8;
  background: #111;
  color: #fff;
  font-size: 18px;
  line-height: 1.1;
}

.owner-popup-modal.owner-executive-modal h3::before {
  content: "Owner Dashboard";
  margin-bottom: 4px;
  color: #c7c7bd;
  font-size: 10px;
  font-weight: 760;
  letter-spacing: .06em;
}

.owner-popup-modal.owner-executive-modal .modal-body {
  flex: 1;
  max-height: none;
  padding: 14px 18px 16px;
  overflow: auto;
}

.owner-popup-modal.owner-executive-modal .modal-actions {
  position: absolute;
  top: 12px;
  right: 14px;
  z-index: 3;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

.owner-popup-modal.owner-executive-modal .modal-actions .btn {
  display: grid;
  width: 32px;
  min-width: 32px;
  height: 32px;
  min-height: 32px;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, .28);
  border-radius: 8px;
  background: rgba(255, 255, 255, .06);
  color: #fff;
  font-size: 0;
}

.owner-popup-modal.owner-executive-modal .modal-actions .btn::after {
  content: "×";
  font-size: 25px;
  font-weight: 500;
  line-height: 1;
}

.owner-popup-modal.owner-executive-modal .owner-visual-popup,
.owner-popup-workspace.liquidity-runway {
  height: 100%;
}

.owner-exec-kpi.is-loading {
  cursor: progress;
  opacity: .76;
}

.owner-proof-load-error {
  display: grid;
  gap: 8px;
  padding: 14px;
  border: 1px solid #f2bbb6;
  border-radius: 8px;
  background: #fff7f6;
}

.owner-proof-load-error strong {
  color: #8f241b;
  font-size: 15px;
  font-weight: 850;
}

.owner-proof-load-error p {
  margin: 0;
  color: #4f4b47;
  font-size: 13px;
  line-height: 1.45;
}

.owner-popup-workspace.kpi-proof {
  align-content: start;
}

.owner-kpi-proof-v2 {
  display: grid;
  gap: 10px;
}

.owner-kpi-proof-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(190px, .42fr);
  gap: 12px;
  align-items: stretch;
  padding: 12px;
  border: 1px solid #d9ddd7;
  border-left: 5px solid #d5aa2f;
  border-radius: 9px;
  background: #fff;
}

.owner-kpi-proof-hero.blocking {
  border-left-color: #c83a2e;
}

.owner-kpi-proof-hero.source {
  border-left-color: #1e8f5a;
}

.owner-kpi-proof-hero.estimated,
.owner-kpi-proof-hero.review {
  border-left-color: #d5aa2f;
}

.owner-kpi-proof-hero div,
.owner-kpi-proof-hero aside {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.owner-kpi-proof-hero span,
.owner-kpi-proof-hero small,
.owner-kpi-owner-implication span,
.owner-kpi-proof-table h4 {
  color: #5d625e;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.owner-kpi-proof-hero strong {
  color: #111;
  font-size: clamp(28px, 4.2vw, 52px);
  font-weight: 900;
  line-height: .98;
  letter-spacing: 0;
  word-break: break-word;
}

.owner-kpi-proof-hero em,
.owner-kpi-proof-hero b {
  color: #343832;
  font-size: 13px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.35;
}

.owner-proof-status {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 6px;
  padding: 4px 8px;
  border: 1px solid #d8d8d2;
  border-radius: 999px;
  background: #f7f7f4;
  color: #262a25;
  font-size: 10px;
  font-weight: 850;
  text-transform: uppercase;
}

.owner-proof-status.blocking {
  border-color: #f0b9b3;
  background: #fff2f0;
  color: #9b271f;
}

.owner-proof-status.source {
  border-color: #b8d9c8;
  background: #f1fbf6;
  color: #11633d;
}

.owner-proof-status.estimated,
.owner-proof-status.review {
  border-color: #ead79f;
  background: #fff9e8;
  color: #725700;
}

.owner-proof-visual-v2 {
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 12px;
  border: 1px solid #dfe1dc;
  border-radius: 9px;
  background: #fbfbf8;
}

.owner-proof-threshold-bar,
.owner-proof-stack-bar,
.coverage-gauge > div {
  position: relative;
  min-height: 18px;
  overflow: hidden;
  border-radius: 999px;
  background: #e8ebe7;
}

.owner-proof-threshold-bar i {
  position: absolute;
  inset: 0 auto 0 0;
  width: var(--cash, 0%);
  background: linear-gradient(90deg, #1e8f5a, #77c59c);
}

.owner-proof-threshold-bar mark {
  position: absolute;
  top: -4px;
  bottom: -4px;
  left: var(--threshold, 0%);
  width: 3px;
  padding: 0;
  border-radius: 999px;
  background: #111;
}

.owner-proof-waterfall-mini,
.owner-proof-legend {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.owner-proof-waterfall-mini span,
.owner-proof-legend span,
.funding-bridge span,
.capacity-bars span,
.gp-bridge span,
.gp-hour-rank span {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 9px;
  border: 1px solid #dcded9;
  border-radius: 8px;
  background: #fff;
}

.owner-proof-waterfall-mini b,
.funding-bridge b,
.capacity-bars b,
.gp-bridge b,
.gp-hour-rank b {
  color: #555a55;
  font-size: 10px;
  font-weight: 850;
  text-transform: uppercase;
}

.owner-proof-waterfall-mini strong,
.funding-bridge strong,
.capacity-bars strong,
.gp-bridge strong,
.gp-hour-rank strong {
  color: #111;
  font-size: 13px;
  font-weight: 860;
}

.owner-proof-waterfall-mini .risk strong,
.funding-bridge .risk strong,
.capacity-bars .risk strong,
.gp-bridge .risk strong {
  color: #b83025;
}

.owner-proof-timeline-strip {
  position: relative;
  min-height: 78px;
  border-bottom: 2px solid #d7dad7;
}

.owner-proof-timeline-strip span {
  position: absolute;
  left: var(--x, 0%);
  bottom: 0;
  display: grid;
  gap: 3px;
  min-width: 82px;
  padding: 6px 7px;
  transform: translateX(-50%);
  border: 1px solid #dcded9;
  border-radius: 7px 7px 0 0;
  background: #fff;
}

.owner-proof-timeline-strip span.risk,
.owner-proof-timeline-strip span.breach {
  border-color: #f0b9b3;
  background: #fff2f0;
}

.owner-proof-timeline-strip span.breach {
  outline: 2px solid #c83a2e;
}

.owner-proof-timeline-strip b,
.owner-proof-timeline-strip em,
.gp-bridge em,
.gp-hour-rank em {
  color: #5d625e;
  font-size: 10px;
  font-style: normal;
  font-weight: 720;
  line-height: 1.25;
}

.owner-proof-stack-bar i,
.owner-proof-stack-bar b,
.owner-proof-stack-bar em {
  position: absolute;
  inset: 0 auto 0 0;
  display: block;
}

.owner-proof-stack-bar i {
  width: var(--raw, 0%);
  background: #5c7c89;
}

.owner-proof-stack-bar b {
  left: var(--raw, 0%);
  width: var(--finished, 0%);
  background: #d5aa2f;
}

.owner-proof-stack-bar em {
  left: calc(var(--raw, 0%) + var(--finished, 0%));
  width: var(--other, 0%);
  background: #979b93;
}

.owner-proof-legend {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.owner-proof-legend i {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-right: 6px;
  border-radius: 50%;
  vertical-align: -1px;
}

.owner-proof-legend .raw {
  background: #5c7c89;
}

.owner-proof-legend .finished {
  background: #d5aa2f;
}

.owner-proof-legend .other {
  background: #979b93;
}

.coverage-gauge {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}

.coverage-gauge > div i {
  position: absolute;
  inset: 0 auto 0 0;
  width: var(--coverage, 0%);
  background: linear-gradient(90deg, #c83a2e, #d5aa2f 55%, #1e8f5a);
}

.coverage-gauge > div mark,
.coverage-gauge > div b {
  position: absolute;
  top: -3px;
  bottom: -3px;
  width: 2px;
  padding: 0;
  background: #111;
}

.coverage-gauge > div mark {
  left: var(--low, 0%);
}

.coverage-gauge > div b {
  left: var(--high, 0%);
}

.coverage-gauge p {
  display: grid;
  gap: 2px;
  margin: 0;
  color: #5d625e;
  font-size: 11px;
}

.coverage-gauge p strong {
  color: #111;
  font-size: 18px;
  font-weight: 880;
}

.funding-bridge,
.capacity-bars,
.gp-bridge,
.gp-hour-rank {
  display: grid;
  gap: 8px;
}

.funding-bridge span,
.gp-bridge span,
.gp-hour-rank span,
.capacity-bars span {
  position: relative;
  overflow: hidden;
}

.funding-bridge span::before,
.gp-bridge span i,
.gp-hour-rank span i,
.capacity-bars span i,
.capacity-bars span em {
  display: block;
  height: 8px;
  border-radius: 999px;
}

.funding-bridge span::before {
  content: "";
  width: var(--w, 0%);
  background: #d5aa2f;
}

.funding-bridge span.risk::before {
  background: #c83a2e;
}

.capacity-bars span i {
  width: var(--req, 0%);
  background: #111;
}

.capacity-bars span em {
  width: var(--avail, 0%);
  background: #9fb8ad;
}

.capacity-bars span.risk i {
  background: #c83a2e;
}

.gp-bridge span i,
.gp-hour-rank span i {
  width: var(--w, 0%);
  background: #111;
}

.gp-bridge span.risk i {
  background: #c83a2e;
}

.gp-hour-rank span.excluded {
  opacity: .72;
}

.gp-hour-rank span.excluded i {
  background: repeating-linear-gradient(90deg, #a8aca6 0 6px, #d8dad5 6px 12px);
}

.owner-kpi-owner-implication {
  display: grid;
  gap: 5px;
  padding: 10px 12px;
  border: 1px solid #dcded9;
  border-left: 4px solid #111;
  border-radius: 8px;
  background: #fff;
}

.owner-kpi-owner-implication strong {
  color: #111;
  font-size: 14px;
  font-weight: 780;
  line-height: 1.4;
}

.owner-kpi-proof-table {
  display: grid;
  gap: 8px;
}

.owner-proof-table-scroll {
  overflow: auto;
  border: 1px solid #dcded9;
  border-radius: 8px;
  background: #fff;
}

.owner-proof-source-table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
}

.owner-proof-source-table th,
.owner-proof-source-table td {
  padding: 8px 10px;
  border-bottom: 1px solid #eceee9;
  color: #2c302b;
  font-size: 12px;
  line-height: 1.35;
  text-align: left;
  vertical-align: top;
}

.owner-proof-source-table thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: #151515;
  color: #fff;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.owner-proof-source-table tbody th {
  width: 24%;
  color: #111;
  font-weight: 830;
}

.owner-proof-source-table tr.risk th,
.owner-proof-source-table tr.risk td {
  background: #fff7f6;
}

.owner-proof-source-table tr.review th,
.owner-proof-source-table tr.review td {
  background: #fffbec;
}

.owner-proof-source-table tr.source th,
.owner-proof-source-table tr.source td {
  background: #f4fbf7;
}

.owner-kpi-drill-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding-top: 4px;
}

.owner-proof-disclosure summary {
  cursor: pointer;
}

.owner-proof-disclosure p {
  grid-template-columns: minmax(120px, .32fr) minmax(0, 1fr);
}

.owner-popup-workspace.liquidity-runway {
  display: grid;
  grid-template-rows: auto auto auto auto;
  gap: 10px;
}

.owner-popup-workspace.liquidity-runway .owner-popup-conclusion {
  gap: 4px;
  padding-bottom: 6px;
}

.owner-popup-workspace.liquidity-runway .owner-popup-conclusion span {
  color: #66665e;
  font-size: 10px;
}

.owner-popup-workspace.liquidity-runway .owner-popup-conclusion strong {
  max-width: 1080px;
  font-size: 22px;
  line-height: 1.12;
}

.owner-popup-workspace.liquidity-runway .owner-popup-conclusion p {
  color: #4a4a44;
  font-size: 12px;
}

.owner-liquidity-first-view {
  display: grid;
  grid-template-columns: minmax(0, 8fr) minmax(300px, 4fr);
  gap: 12px;
  align-items: stretch;
}

.owner-liquidity-chart-card,
.owner-liquidity-side,
.owner-liquidity-waterfall-panel {
  border: 1px solid #dcded9;
  border-radius: 9px;
  background: #fff;
}

.owner-liquidity-chart-card {
  position: relative;
  min-height: 430px;
  overflow: hidden;
}

.owner-liquidity-chart {
  display: block;
  width: 100%;
  height: 430px;
}

.owner-liquidity-chart .chart-title {
  fill: #111;
  font-size: 12px;
  font-weight: 880;
  text-transform: uppercase;
}

.owner-liquidity-chart .zone.safe { fill: rgba(34, 129, 78, .08); }
.owner-liquidity-chart .zone.caution { fill: rgba(214, 181, 54, .18); }
.owner-liquidity-chart .zone.shortage { fill: rgba(207, 59, 46, .10); }

.owner-liquidity-chart .tick line {
  stroke: rgba(17, 24, 39, .09);
  stroke-dasharray: 3 5;
}

.owner-liquidity-chart .tick text {
  fill: #2c333a;
  font-size: 10px;
  font-weight: 760;
}

.owner-liquidity-chart .threshold {
  stroke: #b6861f;
  stroke-width: 1.2;
  stroke-dasharray: 5 5;
}

.owner-liquidity-chart .zero {
  stroke: rgba(200, 58, 46, .58);
  stroke-width: 1;
  stroke-dasharray: 5 5;
}

.owner-liquidity-chart .threshold-label,
.owner-liquidity-chart .zero-label {
  fill: #145f3a;
  font-size: 9.5px;
  font-weight: 840;
  text-anchor: end;
}

.owner-liquidity-chart .zero-label {
  fill: #c83a2e;
}

.owner-liquidity-chart .current-week {
  stroke: #111;
  stroke-width: 1;
  stroke-dasharray: 2 3;
}

.owner-liquidity-chart .current-label,
.owner-liquidity-chart .period-label {
  fill: #2f3942;
  font-size: 10px;
  font-weight: 850;
  text-anchor: middle;
}

.owner-liquidity-chart .period-label {
  fill: #59636e;
  font-size: 9px;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.owner-liquidity-chart .forecast-band {
  fill: rgba(73, 116, 143, .13);
}

.owner-liquidity-chart .actual-line,
.owner-liquidity-chart .forecast-line {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.owner-liquidity-chart .actual-line {
  stroke: #111;
  stroke-width: 2.7;
}

.owner-liquidity-chart .forecast-line {
  stroke: #2d63b8;
  stroke-dasharray: 7 5;
  stroke-width: 2.25;
}

.owner-liquidity-chart .point circle {
  fill: #fff;
  stroke: #2d63b8;
  stroke-width: 1.45;
}

.owner-liquidity-chart .point.actual circle {
  stroke: #111;
}

.owner-liquidity-chart .point.selected circle {
  fill: #fffaf2;
  stroke: #b6861f;
  stroke-width: 2.4;
}

.owner-liquidity-chart .point.risk circle {
  stroke: #c83a2e;
}

.owner-liquidity-chart .point text {
  fill: #334155;
  font-size: 8.5px;
  font-weight: 720;
  text-anchor: middle;
}

.owner-liquidity-chart-hotspots {
  position: absolute;
  inset: 0;
}

.owner-liquidity-chart-hotspots button {
  position: absolute;
  left: var(--x);
  top: var(--y);
  width: 20px;
  height: 20px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  transform: translate(-50%, -50%);
  cursor: pointer;
}

.owner-liquidity-chart-hotspots button.active,
.owner-liquidity-chart-hotspots button:hover {
  box-shadow: 0 0 0 2px rgba(182, 134, 31, .18);
}

.liquidity-event-card line,
.liquidity-risk-callout line {
  stroke: rgba(43, 52, 58, .38);
  stroke-width: 1;
}

.liquidity-event-card rect {
  fill: #fff;
  stroke: #d5d9d6;
  filter: drop-shadow(0 1px 1px rgba(17, 17, 17, .08));
}

.liquidity-event-card.collection rect,
.liquidity-event-card.funding rect {
  fill: #f7fcf8;
}

.liquidity-event-card.inventory rect,
.liquidity-event-card.payroll rect,
.liquidity-event-card.debt-tax rect {
  fill: #fffaf2;
}

.liquidity-event-card .event-icon path,
.liquidity-event-card .event-icon rect,
.liquidity-event-card .event-icon circle {
  fill: none;
  stroke: #2f7b51;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.55;
  vector-effect: non-scaling-stroke;
}

.liquidity-event-card.inventory .event-icon path,
.liquidity-event-card.inventory .event-icon rect,
.liquidity-event-card.inventory .event-icon circle,
.liquidity-event-card.payroll .event-icon path,
.liquidity-event-card.payroll .event-icon rect,
.liquidity-event-card.payroll .event-icon circle,
.liquidity-event-card.debt-tax .event-icon path,
.liquidity-event-card.debt-tax .event-icon rect,
.liquidity-event-card.debt-tax .event-icon circle {
  stroke: #b56b25;
}

.liquidity-event-card .event-title {
  fill: #111;
  font-size: 8.7px;
  font-weight: 850;
}

.liquidity-event-card .event-amount {
  fill: #313b45;
  font-size: 8.5px;
  font-weight: 700;
}

.liquidity-risk-callout text {
  fill: #a23d34;
  font-size: 9px;
  font-weight: 850;
}

.liquidity-risk-callout.low rect {
  fill: #fff7f6;
  stroke: #f2bbb6;
}

.liquidity-risk-callout.low text {
  text-anchor: middle;
}

.liquidity-risk-callout.recovery text {
  fill: #166534;
}

.owner-liquidity-side {
  display: grid;
  gap: 6px;
  padding: 10px;
}

.owner-liquidity-side section {
  display: grid;
  gap: 4px;
  padding-bottom: 7px;
  border-bottom: 1px solid #ecece8;
}

.owner-liquidity-side section:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.owner-liquidity-side span {
  color: #606058;
  font-size: 10px;
  font-weight: 860;
  text-transform: uppercase;
}

.owner-liquidity-side strong {
  color: #111;
  font-size: 20px;
  line-height: 1.08;
}

.owner-liquidity-side strong.risk {
  color: #c83a2e;
}

.owner-liquidity-side p {
  margin: 0;
  color: #4d555c;
  font-size: 11px;
  line-height: 1.25;
}

.liquidity-cushion-bar {
  position: relative;
  height: 8px;
  margin-top: 3px;
  border-radius: 999px;
  background: #edf0ef;
}

.liquidity-cushion-bar i {
  display: block;
  width: var(--cash);
  height: 100%;
  border-radius: inherit;
  background: #176f4a;
}

.liquidity-cushion-bar mark {
  position: absolute;
  left: var(--threshold);
  top: -4px;
  width: 2px;
  height: 16px;
  border-radius: 2px;
  background: #b6861f;
}

.owner-liquidity-side .risk-timing ol {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 2px 0 0 16px;
  border-left: 2px solid #deded8;
  list-style: none;
}

.owner-liquidity-side .risk-timing li {
  position: relative;
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  align-items: baseline;
  gap: 7px;
  padding: 0 0 4px 12px;
}

.owner-liquidity-side .risk-timing li::before {
  content: "";
  position: absolute;
  left: -22px;
  top: 2px;
  width: 9px;
  height: 9px;
  border: 2px solid #777;
  border-radius: 999px;
  background: #fff;
}

.owner-liquidity-side .risk-timing li.risk::before,
.owner-liquidity-side .risk-timing li.low::before {
  border-color: #c83a2e;
  background: #fff7f6;
}

.owner-liquidity-side .risk-timing li.good::before {
  border-color: #16834b;
  background: #f7fcf8;
}

.owner-liquidity-side .risk-timing b {
  color: #111;
  font-size: 11px;
  line-height: 1.1;
}

.owner-liquidity-side .risk-timing em {
  color: #626b72;
  font-size: 10px;
  font-style: normal;
  line-height: 1.1;
}

.owner-liquidity-side dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4px;
  margin: 0;
}

.owner-liquidity-side dl div {
  display: grid;
  gap: 2px;
  padding: 5px;
  border: 1px solid #e4e5e1;
  border-radius: 7px;
  background: #fafafa;
}

.owner-liquidity-side dt {
  color: #62625c;
  font-size: 9px;
  font-weight: 850;
  text-transform: uppercase;
}

.owner-liquidity-side dd {
  margin: 0;
  color: #111;
  font-size: 11px;
  font-weight: 840;
}

.owner-liquidity-side .btn {
  min-height: 31px;
  margin-top: 3px;
  border-color: #111;
  background: #111;
  color: #fff;
}

.owner-liquidity-side .link-button {
  justify-self: start;
  color: #111;
  font-size: 11px;
  font-weight: 800;
  text-decoration: underline;
}

.owner-liquidity-waterfall-zone {
  min-height: 188px;
}

.owner-liquidity-waterfall-panel {
  padding: 10px;
}

.owner-liquidity-waterfall-panel header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 6px;
}

.owner-liquidity-waterfall-panel header span {
  color: #62625c;
  font-size: 10px;
  font-weight: 860;
  text-transform: uppercase;
}

.owner-liquidity-waterfall-panel header strong {
  color: #111;
  font-size: 15px;
}

.owner-liquidity-waterfall-panel header em {
  color: #626b72;
  font-size: 11px;
  font-style: normal;
}

.owner-liquidity-waterfall {
  display: block;
  width: 100%;
  height: 160px;
}

.owner-liquidity-waterfall .threshold {
  stroke: #b6861f;
  stroke-dasharray: 5 5;
}

.owner-liquidity-waterfall .threshold-label {
  fill: #7a5a16;
  font-size: 10px;
  font-weight: 840;
  text-anchor: end;
}

.owner-liquidity-waterfall .waterfall-step rect {
  fill: #111;
}

.owner-liquidity-waterfall .waterfall-step.in rect {
  fill: #16834b;
}

.owner-liquidity-waterfall .waterfall-step.out rect,
.owner-liquidity-waterfall .waterfall-step.gap rect {
  fill: #c83a2e;
}

.owner-liquidity-waterfall .waterfall-step.ending rect {
  fill: #2d63b8;
}

.owner-liquidity-waterfall .waterfall-step.cushion rect {
  fill: #176f4a;
}

.owner-liquidity-waterfall text {
  fill: #1f2933;
  font-size: 9.5px;
  font-weight: 760;
  text-anchor: middle;
}

.owner-liquidity-waterfall .value {
  font-size: 9px;
}

.owner-liquidity-waterfall .label {
  fill: #47515a;
  font-size: 8.5px;
}

.owner-popup-workspace.liquidity-runway > .owner-popup-secondary {
  padding: 8px 0;
}

.owner-popup-workspace.liquidity-runway .owner-popup-footer {
  padding-top: 8px;
}

@media (max-width: 1100px) {
  .owner-liquidity-first-view {
    grid-template-columns: 1fr;
  }

  .owner-liquidity-side {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* Executive popup Phase 2: Inventory Conversion proof view. */
.owner-popup-workspace.inventory-conversion {
  gap: 11px;
}

.owner-popup-workspace.inventory-conversion .owner-popup-conclusion {
  padding-bottom: 8px;
}

.owner-popup-workspace.inventory-conversion .owner-popup-conclusion strong {
  font-size: 22px;
}

.owner-inventory-conversion-first {
  display: grid;
  grid-template-columns: minmax(0, 8fr) minmax(280px, 4fr);
  gap: 12px;
  align-items: stretch;
}

.owner-inventory-flow-card,
.owner-inventory-bottleneck-rail,
.owner-inventory-bottleneck-list,
.owner-inventory-product-matrix,
.owner-inventory-product-detail,
.owner-inventory-scenario-strip {
  border: 1px solid #dcded9;
  border-radius: 9px;
  background: #fff;
}

.owner-inventory-flow-card {
  display: grid;
  gap: 10px;
  padding: 12px;
  min-height: 412px;
}

.owner-inventory-flow-card header,
.owner-inventory-product-matrix header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  padding-bottom: 7px;
  border-bottom: 1px solid #ecece8;
}

.owner-inventory-flow-card header span,
.owner-inventory-bottleneck-rail span,
.owner-inventory-product-detail span,
.owner-inventory-product-matrix h4,
.owner-inventory-scenario-strip h4,
.owner-inventory-bottleneck-list h4 {
  color: #62625c;
  font-size: 10px;
  font-weight: 860;
  text-transform: uppercase;
}

.owner-inventory-flow-card header strong {
  color: #111;
  font-size: 13px;
  font-weight: 840;
  text-align: right;
}

.owner-inventory-flow {
  display: grid;
  grid-template-columns: repeat(7, minmax(78px, 1fr));
  gap: 7px;
  align-items: stretch;
}

.owner-inventory-flow button {
  position: relative;
  display: grid;
  grid-template-rows: auto auto auto 1fr;
  gap: 4px;
  min-height: 142px;
  padding: 9px 8px 13px;
  border: 1px solid #e0e1dd;
  border-radius: 8px;
  background: linear-gradient(180deg, #fff 0%, #fafaf8 100%);
  color: #111;
  text-align: left;
  cursor: pointer;
  overflow: visible;
}

.owner-inventory-flow button:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -9px;
  width: 10px;
  height: 1px;
  background: #b7b9b4;
  z-index: 1;
}

.owner-inventory-flow button::before {
  content: "";
  position: absolute;
  left: 8px;
  right: 8px;
  bottom: 7px;
  height: 7px;
  border-radius: 999px;
  background: linear-gradient(90deg, #111 var(--stage), #e8e9e5 var(--stage));
}

.owner-inventory-flow button.has-loss {
  box-shadow: inset 0 -1px 0 rgba(200, 58, 46, .14);
}

.owner-inventory-flow button.active,
.owner-inventory-flow button:hover,
.owner-inventory-product-matrix button.active,
.owner-inventory-product-matrix button:hover,
.owner-inventory-scenario-strip button.active,
.owner-inventory-scenario-strip button:hover {
  border-color: #111;
  outline: none;
  box-shadow: 0 0 0 3px rgba(17, 17, 17, .06);
}

.owner-inventory-flow span {
  color: #5e625e;
  font-size: 9px;
  font-weight: 860;
  line-height: 1.15;
  text-transform: uppercase;
}

.owner-inventory-flow strong {
  color: #111;
  font-size: 15px;
  font-weight: 880;
  line-height: 1.05;
}

.owner-inventory-flow em,
.owner-inventory-flow i {
  color: #606860;
  font-size: 10px;
  font-style: normal;
  line-height: 1.2;
}

.owner-inventory-stage-detail {
  min-height: 132px;
}

.owner-inventory-stage-detail .owner-popup-select-panel {
  padding: 10px;
  border: 1px solid #ededeb;
  border-radius: 8px;
  background: #fbfbf9;
}

.owner-inventory-stage-detail article {
  display: grid;
  grid-template-columns: minmax(140px, .75fr) minmax(0, 1fr);
  gap: 8px 14px;
  align-items: start;
}

.owner-inventory-stage-detail article span {
  grid-column: 1 / -1;
  color: #62625c;
  font-size: 10px;
  font-weight: 860;
  text-transform: uppercase;
}

.owner-inventory-stage-detail article strong {
  color: #111;
  font-size: 22px;
  line-height: 1.05;
}

.owner-inventory-stage-detail article p {
  margin: 0;
  color: #4f5750;
  font-size: 12px;
  line-height: 1.32;
}

.owner-inventory-stage-detail dl {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  margin: 0;
}

.owner-inventory-stage-detail dl div {
  display: grid;
  gap: 2px;
  padding: 7px;
  border-radius: 7px;
  background: #fff;
}

.owner-inventory-stage-detail dt {
  color: #696961;
  font-size: 9px;
  font-weight: 850;
  text-transform: uppercase;
}

.owner-inventory-stage-detail dd {
  margin: 0;
  color: #111;
  font-size: 11px;
  font-weight: 820;
}

.owner-inventory-bottleneck-rail {
  display: grid;
  gap: 0;
  overflow: hidden;
}

.owner-inventory-bottleneck-rail section {
  display: grid;
  gap: 5px;
  padding: 12px;
  border-bottom: 1px solid #ecece8;
}

.owner-inventory-bottleneck-rail section:last-child {
  border-bottom: 0;
}

.owner-inventory-bottleneck-rail strong {
  color: #111;
  font-size: 19px;
  line-height: 1.08;
}

.owner-inventory-bottleneck-rail p {
  margin: 0;
  color: #505850;
  font-size: 12px;
  line-height: 1.32;
}

.owner-inventory-bottleneck-list {
  display: grid;
  gap: 7px;
  padding: 11px 12px;
}

.owner-inventory-bottleneck-list article {
  display: grid;
  grid-template-columns: 24px minmax(120px, .8fr) minmax(80px, .5fr) minmax(120px, .8fr) minmax(0, 1fr);
  gap: 9px;
  align-items: center;
  min-height: 34px;
  padding: 6px 0;
  border-top: 1px solid #f0f0ed;
}

.owner-inventory-bottleneck-list article:first-of-type {
  border-top: 0;
}

.owner-inventory-bottleneck-list i {
  display: grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border-radius: 999px;
  background: #f2f3f0;
  color: #111;
  font-size: 10px;
  font-style: normal;
  font-weight: 860;
}

.owner-inventory-bottleneck-list article.primary i {
  background: #111;
  color: #fff;
}

.owner-inventory-bottleneck-list b {
  color: #111;
  font-size: 12px;
}

.owner-inventory-bottleneck-list strong {
  color: #111;
  font-size: 13px;
}

.owner-inventory-bottleneck-list span,
.owner-inventory-bottleneck-list em {
  color: #5f675f;
  font-size: 11px;
  font-style: normal;
}

.owner-inventory-product-matrix {
  display: grid;
  gap: 0;
  overflow: hidden;
}

.owner-inventory-product-matrix header {
  padding: 10px 12px 8px;
}

.owner-inventory-product-matrix header span {
  color: #697069;
  font-size: 11px;
}

.owner-inventory-product-matrix .head,
.owner-inventory-product-matrix button {
  display: grid;
  grid-template-columns: minmax(150px, 1.15fr) minmax(80px, .75fr) minmax(72px, .65fr) minmax(76px, .65fr) minmax(96px, .75fr) minmax(98px, .75fr) minmax(92px, .72fr);
  gap: 9px;
  align-items: center;
}

.owner-inventory-product-matrix .head {
  padding: 8px 12px;
  border-bottom: 1px solid #e8e8e4;
  background: #f7f8f5;
}

.owner-inventory-product-matrix .head span {
  color: #656b65;
  font-size: 9.5px;
  font-weight: 860;
  text-transform: uppercase;
}

.owner-inventory-product-matrix button {
  width: 100%;
  padding: 8px 12px;
  border: 0;
  border-top: 1px solid #f0f0ed;
  background: #fff;
  color: #111;
  text-align: left;
  cursor: pointer;
}

.owner-inventory-product-matrix button:first-of-type {
  border-top: 0;
}

.owner-inventory-product-matrix b {
  overflow: hidden;
  text-overflow: ellipsis;
  color: #111;
  font-size: 12px;
  white-space: nowrap;
}

.owner-inventory-product-matrix span {
  position: relative;
  display: grid;
  gap: 3px;
  color: #303730;
  font-size: 11px;
  font-weight: 760;
}

.owner-inventory-product-matrix span i {
  display: block;
  width: var(--w);
  min-width: 4px;
  height: 5px;
  border-radius: 999px;
  background: #97a2a0;
}

.owner-inventory-product-matrix button.short span i,
.owner-inventory-product-matrix button.risk span i {
  background: #c83a2e;
}

.owner-inventory-product-matrix button.excess span i {
  background: #b6861f;
}

.owner-inventory-product-matrix button.balanced span i,
.owner-inventory-product-matrix button.ok span i,
.owner-inventory-product-matrix button.good span i {
  background: #16834b;
}

.owner-inventory-product-matrix em {
  justify-self: start;
  padding: 3px 8px;
  border-radius: 999px;
  background: #f2f3f0;
  color: #222;
  font-size: 10px;
  font-style: normal;
  font-weight: 820;
}

.owner-inventory-product-matrix button.short em,
.owner-inventory-product-matrix button.risk em {
  background: #fff1ef;
  color: #a23d34;
}

.owner-inventory-product-matrix button.excess em {
  background: #fff8e1;
  color: #76530f;
}

.owner-inventory-product-detail {
  padding: 11px 12px;
}

.owner-inventory-product-detail article {
  display: grid;
  grid-template-columns: minmax(160px, .55fr) minmax(0, 1fr);
  gap: 6px 12px;
}

.owner-inventory-product-detail article span {
  grid-column: 1 / -1;
}

.owner-inventory-product-detail article strong {
  color: #111;
  font-size: 20px;
  line-height: 1.06;
}

.owner-inventory-product-detail article div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}

.owner-inventory-product-detail p {
  margin: 0;
  padding: 7px;
  border-radius: 7px;
  background: #fafaf8;
  color: #4f5750;
  font-size: 11px;
  line-height: 1.3;
}

.owner-inventory-product-detail b {
  color: #111;
}

.owner-inventory-scenario-strip {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 7px;
  padding: 10px 12px 12px;
}

.owner-inventory-scenario-strip h4 {
  grid-column: 1 / -1;
}

.owner-inventory-scenario-strip button {
  display: grid;
  gap: 4px;
  min-height: 72px;
  padding: 8px;
  border: 1px solid #e1e3de;
  border-radius: 8px;
  background: #fff;
  color: #111;
  text-align: left;
  cursor: pointer;
}

.owner-inventory-scenario-strip button b {
  color: #111;
  font-size: 11px;
}

.owner-inventory-scenario-strip button strong {
  color: #176f4a;
  font-size: 12px;
}

.owner-inventory-scenario-strip button span {
  color: #606860;
  font-size: 10px;
  line-height: 1.25;
}

@media (max-width: 1180px) {
  .owner-inventory-conversion-first {
    grid-template-columns: 1fr;
  }

  .owner-inventory-flow {
    grid-template-columns: repeat(4, minmax(96px, 1fr));
  }

  .owner-inventory-bottleneck-rail {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .owner-inventory-bottleneck-rail section {
    border-right: 1px solid #ecece8;
    border-bottom: 0;
  }

  .owner-inventory-bottleneck-rail section:last-child {
    border-right: 0;
  }
}

@media (max-width: 760px) {
  .owner-inventory-flow,
  .owner-inventory-bottleneck-rail,
  .owner-inventory-product-detail article,
  .owner-inventory-product-detail article div,
  .owner-inventory-scenario-strip {
    grid-template-columns: 1fr;
  }

  .owner-inventory-product-matrix {
    overflow-x: auto;
  }

  .owner-inventory-product-matrix .head,
  .owner-inventory-product-matrix button {
    min-width: 920px;
  }
}

/* Executive popup Phase 3: Demand Alignment proof view. */
.owner-exec-demand-proof-target {
  display: grid;
  gap: inherit;
  border-radius: 8px;
  cursor: pointer;
}

.owner-exec-demand-proof-target:hover,
.owner-exec-demand-proof-target:focus-visible {
  outline: 2px solid rgba(17, 17, 17, .12);
  outline-offset: 4px;
}

.owner-popup-workspace.demand-alignment {
  gap: 11px;
}

.owner-popup-workspace.demand-alignment .owner-popup-conclusion {
  padding-bottom: 8px;
}

.owner-popup-workspace.demand-alignment .owner-popup-conclusion strong {
  font-size: 22px;
}

.owner-demand-proof-first {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(300px, .85fr);
  gap: 12px;
  align-items: stretch;
}

.owner-demand-coverage-card,
.owner-demand-selected-card,
.owner-demand-exposure-v2 article,
.owner-demand-action-board {
  border: 1px solid #dcded9;
  border-radius: 9px;
  background: #fff;
}

.owner-demand-coverage-card {
  display: grid;
  gap: 9px;
  align-content: start;
  padding: 12px;
  min-height: 0;
}

.owner-demand-coverage-card header,
.owner-demand-action-board header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  padding-bottom: 8px;
  border-bottom: 1px solid #ecece8;
}

.owner-demand-coverage-card header span,
.owner-demand-selected-card article span,
.owner-demand-action-board h4,
.owner-demand-exposure-v2 b {
  color: #62625c;
  font-size: 10px;
  font-weight: 860;
  text-transform: uppercase;
}

.owner-demand-coverage-card header strong,
.owner-demand-action-board header span {
  color: #111;
  font-size: 12px;
  font-weight: 820;
}

.owner-demand-axis {
  display: grid;
  grid-template-columns: minmax(155px, .9fr) minmax(0, 1.65fr) 86px 112px 90px;
  gap: 10px;
  align-items: center;
  min-height: 18px;
  margin-bottom: 3px;
  color: #71716a;
  font-size: 9px;
  font-weight: 780;
  text-transform: uppercase;
}

.owner-demand-axis span:first-child {
  grid-column: 2;
  justify-self: start;
}

.owner-demand-axis span:nth-child(2) {
  grid-column: 2;
  justify-self: start;
  margin-left: var(--lo);
}

.owner-demand-axis span:nth-child(3) {
  grid-column: 2;
  justify-self: start;
  margin-left: var(--hi);
}

.owner-demand-axis span:last-child {
  grid-column: 2;
  justify-self: end;
}

.owner-popup-workspace.demand-alignment .owner-demand-range-chart {
  display: grid;
  gap: 7px;
}

.owner-popup-workspace.demand-alignment .owner-demand-range-chart button {
  display: grid;
  grid-template-columns: minmax(155px, .9fr) minmax(0, 1.65fr) 86px 112px 90px;
  gap: 10px;
  align-items: center;
  min-height: 38px;
  padding: 7px 8px;
  border: 1px solid #e0e1dd;
  border-radius: 8px;
  background: linear-gradient(180deg, #fff 0%, #fbfbf9 100%);
  color: #111;
  text-align: left;
  cursor: pointer;
}

.owner-popup-workspace.demand-alignment .owner-demand-range-chart button.active,
.owner-popup-workspace.demand-alignment .owner-demand-range-chart button:hover,
.owner-demand-action-list button.active,
.owner-demand-action-list button:hover {
  border-color: #111;
  outline: none;
  box-shadow: 0 0 0 3px rgba(17, 17, 17, .06);
}

.owner-popup-workspace.demand-alignment .owner-demand-range-chart b {
  overflow: hidden;
  color: #111;
  font-size: 12px;
  font-weight: 840;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.owner-popup-workspace.demand-alignment .owner-demand-range-chart .range {
  position: relative;
  display: block;
  height: 14px;
  border-radius: 999px;
  background:
    linear-gradient(90deg, transparent var(--low), rgba(214, 181, 54, .32) var(--low), rgba(214, 181, 54, .32) var(--high), transparent var(--high)),
    #eceeea;
}

.owner-popup-workspace.demand-alignment .owner-demand-range-chart .range::before,
.owner-popup-workspace.demand-alignment .owner-demand-range-chart .range::after {
  content: "";
  position: absolute;
  top: -3px;
  width: 1px;
  height: 20px;
  background: #b6a34c;
}

.owner-popup-workspace.demand-alignment .owner-demand-range-chart .range::before {
  left: var(--low);
}

.owner-popup-workspace.demand-alignment .owner-demand-range-chart .range::after {
  left: var(--high);
}

.owner-popup-workspace.demand-alignment .owner-demand-range-chart .range i {
  position: absolute;
  left: 0;
  top: 5px;
  width: var(--x);
  height: 4px;
  border-radius: 999px;
  background: #9fa7a3;
}

.owner-popup-workspace.demand-alignment .owner-demand-range-chart .range em {
  position: absolute;
  left: var(--x);
  top: -4px;
  width: 22px;
  height: 22px;
  border: 2px solid #111;
  border-radius: 999px;
  background: #fff;
  transform: translateX(-50%);
}

.owner-popup-workspace.demand-alignment .owner-demand-range-chart button.over .range em {
  border-color: #b6861f;
}

.owner-popup-workspace.demand-alignment .owner-demand-range-chart button.under .range em {
  border-color: #c83a2e;
}

.owner-popup-workspace.demand-alignment .owner-demand-range-chart button.balanced .range em {
  border-color: #16834b;
}

.owner-popup-workspace.demand-alignment .owner-demand-range-chart button.unsupported .range em {
  border-color: #7a7a72;
}

.owner-popup-workspace.demand-alignment .owner-demand-range-chart strong {
  color: #111;
  font-size: 12px;
  font-weight: 840;
}

.owner-popup-workspace.demand-alignment .owner-demand-range-chart small {
  color: #5f675f;
  font-size: 10.5px;
  font-weight: 720;
}

.owner-popup-workspace.demand-alignment .owner-demand-range-chart u {
  justify-self: start;
  padding: 3px 8px;
  border-radius: 999px;
  background: #f2f3f0;
  color: #222;
  font-size: 10px;
  font-weight: 830;
  text-decoration: none;
}

.owner-popup-workspace.demand-alignment .owner-demand-range-chart button.over u {
  background: #fff8e1;
  color: #76530f;
}

.owner-popup-workspace.demand-alignment .owner-demand-range-chart button.under u {
  background: #fff1ef;
  color: #a23d34;
}

.owner-popup-workspace.demand-alignment .owner-demand-range-chart button.balanced u {
  background: #eaf7ef;
  color: #176f4a;
}

.owner-demand-selected-card {
  display: grid;
  align-content: start;
  padding: 12px;
}

.owner-demand-selected-card .owner-popup-select-panel {
  padding: 0;
  border: 0;
  background: transparent;
}

.owner-demand-selected-card article {
  display: grid;
  gap: 9px;
}

.owner-demand-selected-card article strong {
  color: #111;
  font-size: 22px;
  line-height: 1.05;
}

.owner-demand-selected-card article p {
  margin: 0;
  color: #4f5750;
  font-size: 12px;
  line-height: 1.35;
}

.owner-demand-pace-bars {
  display: grid;
  gap: 7px;
  padding: 9px;
  border-radius: 8px;
  background: #fafaf8;
}

.owner-demand-pace-bars span {
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
}

.owner-demand-pace-bars em {
  color: #606860;
  font-size: 10px;
  font-style: normal;
  font-weight: 820;
  text-transform: uppercase;
}

.owner-demand-pace-bars i {
  display: block;
  width: var(--w);
  min-width: 4px;
  height: 7px;
  border-radius: 999px;
  background: #315f88;
}

.owner-demand-pace-bars span:nth-child(4) i {
  background: #97a2a0;
}

.owner-demand-selected-card .owner-demand-pace-bars strong {
  color: #111;
  font-size: 11px;
  font-weight: 820;
  line-height: 1.1;
  white-space: nowrap;
}

.owner-demand-selected-card dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
  margin: 0;
}

.owner-demand-selected-card dl div {
  display: grid;
  gap: 3px;
  padding: 8px;
  border-radius: 8px;
  background: #fafaf8;
}

.owner-demand-selected-card dt {
  color: #62625c;
  font-size: 9px;
  font-weight: 850;
  text-transform: uppercase;
}

.owner-demand-selected-card dd {
  margin: 0;
  color: #111;
  font-size: 11px;
  font-weight: 800;
}

.owner-demand-exposure-v2 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.owner-demand-exposure-v2 article {
  display: grid;
  gap: 5px;
  padding: 10px;
}

.owner-demand-exposure-v2 strong {
  color: #111;
  font-size: 19px;
  line-height: 1.05;
}

.owner-demand-exposure-v2 span {
  color: #5f675f;
  font-size: 11px;
}

.owner-demand-exposure-v2 i {
  display: block;
  width: max(5px, var(--w));
  height: 6px;
  border-radius: 999px;
  background: #8d938f;
}

.owner-demand-exposure-v2 .balanced i {
  background: #16834b;
}

.owner-demand-exposure-v2 .over i {
  background: #b6861f;
}

.owner-demand-exposure-v2 .under i {
  background: #c83a2e;
}

.owner-demand-exposure-v2 .unsupported i {
  background: #7a7a72;
}

.owner-demand-action-board {
  display: grid;
  grid-template-columns: minmax(310px, .82fr) minmax(0, 1fr);
  gap: 0 12px;
  padding: 11px 12px 12px;
}

.owner-demand-action-board header {
  grid-column: 1 / -1;
  margin-bottom: 9px;
  padding-bottom: 8px;
}

.owner-demand-action-list {
  display: grid;
  gap: 7px;
}

.owner-demand-action-list button {
  display: grid;
  grid-template-columns: minmax(110px, .78fr) minmax(120px, 1fr) auto;
  gap: 8px;
  align-items: center;
  min-height: 44px;
  padding: 8px;
  border: 1px solid #e0e1dd;
  border-radius: 8px;
  background: #fff;
  color: #111;
  text-align: left;
  cursor: pointer;
}

.owner-demand-action-list b {
  color: #111;
  font-size: 12px;
}

.owner-demand-action-list span {
  overflow: hidden;
  color: #505850;
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.owner-demand-action-list strong {
  color: #111;
  font-size: 11px;
  white-space: nowrap;
}

.owner-demand-action-list em {
  grid-column: 1 / -1;
  justify-self: start;
  padding: 2px 7px;
  border-radius: 999px;
  background: #f2f3f0;
  color: #4f5750;
  font-size: 9px;
  font-style: normal;
  font-weight: 830;
}

.owner-demand-action-list button.over em {
  background: #fff8e1;
  color: #76530f;
}

.owner-demand-action-list button.under em {
  background: #fff1ef;
  color: #a23d34;
}

.owner-demand-action-list button.balanced em {
  background: #eaf7ef;
  color: #176f4a;
}

.owner-demand-action-detail {
  min-height: 100%;
}

.owner-demand-action-detail .owner-popup-select-panel {
  height: 100%;
  padding: 0;
  border: 0;
  background: transparent;
}

.owner-demand-action-detail article {
  display: grid;
  gap: 7px;
  height: 100%;
  padding: 10px;
  border-radius: 8px;
  background: #fafaf8;
}

.owner-demand-action-detail span {
  color: #62625c;
  font-size: 10px;
  font-weight: 860;
  text-transform: uppercase;
}

.owner-demand-action-detail strong {
  color: #111;
  font-size: 20px;
}

.owner-demand-action-detail p {
  margin: 0;
  color: #4f5750;
  font-size: 12px;
  line-height: 1.35;
}

.owner-demand-action-detail b {
  color: #111;
}

@media (max-width: 1180px) {
  .owner-demand-proof-first,
  .owner-demand-action-board {
    grid-template-columns: 1fr;
  }

  .owner-demand-action-detail {
    min-height: auto;
  }
}

@media (max-width: 900px) {
  .owner-demand-exposure-v2,
  .owner-demand-selected-card dl {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .owner-popup-workspace.demand-alignment .owner-demand-range-chart {
    overflow-x: auto;
  }

  .owner-popup-workspace.demand-alignment .owner-demand-range-chart button,
  .owner-demand-axis {
    min-width: 820px;
  }
}

@media (max-width: 640px) {
  .owner-demand-exposure-v2,
  .owner-demand-selected-card dl,
  .owner-demand-pace-bars span,
  .owner-demand-action-list button {
    grid-template-columns: 1fr;
  }
}

/* Executive popup Phase 4: Product Mix Return and Capacity proof views */
.owner-mix-proof-first,
.owner-capacity-proof-first {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, .9fr);
  gap: 14px;
  align-items: stretch;
  margin-bottom: 12px;
}

.owner-mix-allocation-card,
.owner-return-frontier-card,
.owner-capacity-calendar-card,
.owner-capacity-diagnosis,
.owner-mix-selected-detail,
.owner-mix-basis-panel,
.owner-capacity-selected-week,
.owner-capacity-quality-grid article,
.owner-capacity-scenario-board {
  border: 1px solid #deded8;
  border-radius: 10px;
  background: #fff;
}

.owner-mix-allocation-card,
.owner-return-frontier-card,
.owner-capacity-calendar-card,
.owner-capacity-diagnosis,
.owner-capacity-selected-week,
.owner-capacity-scenario-board {
  padding: 14px;
}

.owner-mix-allocation-card > header,
.owner-return-frontier-card > header,
.owner-capacity-calendar-card > header,
.owner-capacity-scenario-board > header,
.owner-mix-basis-panel > header {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: baseline;
  margin-bottom: 12px;
}

.owner-mix-allocation-card header span,
.owner-return-frontier-card header span,
.owner-capacity-calendar-card header span,
.owner-capacity-diagnosis span,
.owner-capacity-scenario-board header span,
.owner-mix-basis-panel header span,
.owner-mix-selected-detail span,
.owner-capacity-selected-week header span {
  color: #62625c;
  font-size: 10px;
  font-weight: 860;
  letter-spacing: .035em;
  text-transform: uppercase;
}

.owner-mix-allocation-card header strong,
.owner-return-frontier-card header strong,
.owner-capacity-calendar-card header strong,
.owner-capacity-diagnosis strong,
.owner-mix-basis-panel header strong,
.owner-mix-selected-detail strong,
.owner-capacity-selected-week header strong {
  color: #111;
  font-size: 18px;
  font-weight: 860;
}

.owner-mix-allocation-pair {
  display: grid;
  gap: 10px;
}

.owner-mix-allocation-pair article {
  display: grid;
  gap: 8px;
}

.owner-mix-allocation-pair article > div:first-child {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: baseline;
}

.owner-mix-allocation-pair b,
.owner-capacity-selected-week b {
  color: #111;
  font-size: 12px;
  font-weight: 820;
}

.owner-mix-allocation-pair em,
.owner-capacity-selected-week em,
.owner-return-frontier-card p,
.owner-capacity-diagnosis p,
.owner-capacity-quality-grid span {
  margin: 0;
  color: #5f5f59;
  font-size: 12px;
  font-style: normal;
  font-weight: 640;
  line-height: 1.35;
}

.owner-mix-stack {
  display: flex;
  min-height: 74px;
  border-radius: 9px;
  background: #f2f2ef;
  overflow: hidden;
}

.owner-mix-stack button {
  display: grid;
  place-content: center;
  min-width: var(--w);
  padding: 6px;
  border: 0;
  border-right: 1px solid rgba(255,255,255,.72);
  background: #2f3337;
  color: #fff;
  text-align: center;
  cursor: pointer;
}

.owner-mix-stack button.good { background: #1f7a52; }
.owner-mix-stack button.watch { background: #9a7422; }
.owner-mix-stack button.reduce { background: #9a5a2d; }
.owner-mix-stack button.risk { background: #a33b32; }
.owner-mix-stack button.neutral { background: #3e454b; }

.owner-mix-stack button b {
  overflow: hidden;
  max-width: 112px;
  color: #fff;
  font-size: 10px;
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.owner-mix-stack button span {
  color: rgba(255,255,255,.82);
  font-size: 10px;
  font-weight: 720;
}

.owner-mix-delta-rail {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 12px 0;
}

.owner-mix-delta-rail span {
  display: grid;
  gap: 3px;
  padding: 8px 9px;
  border-radius: 8px;
  background: #f6f6f4;
}

.owner-mix-delta-rail b,
.owner-mix-opportunity-bridge b,
.owner-capacity-quality-grid b {
  color: #61615b;
  font-size: 10px;
  font-weight: 850;
  letter-spacing: .025em;
  text-transform: uppercase;
}

.owner-mix-delta-rail strong,
.owner-capacity-quality-grid strong {
  color: #111;
  font-size: 16px;
  font-weight: 860;
}

.owner-mix-delta-rail em {
  color: #60605a;
  font-size: 11px;
  font-style: normal;
  font-weight: 640;
}

.owner-mix-opportunity-bridge {
  display: grid;
  gap: 8px;
  padding-top: 10px;
  border-top: 1px solid #ecece8;
}

.owner-mix-opportunity-bridge span {
  display: grid;
  grid-template-columns: 118px minmax(0, 1fr) 86px;
  gap: 9px;
  align-items: center;
}

.owner-mix-opportunity-bridge i {
  display: block;
  width: var(--w);
  height: 9px;
  border-radius: 999px;
  background: #d8d8d2;
}

.owner-mix-opportunity-bridge .lift i { background: #188452; }
.owner-mix-opportunity-bridge .hold i { background: #c8a53b; }
.owner-mix-opportunity-bridge .target i { background: #2e5f9d; }
.owner-mix-opportunity-bridge strong {
  color: #111;
  font-size: 12px;
  font-weight: 820;
  text-align: right;
}

.owner-return-frontier-v2 {
  position: relative;
  min-height: 355px;
  border-radius: 10px;
  background:
    linear-gradient(90deg, transparent 49.6%, rgba(20,20,20,.08) 49.6%, rgba(20,20,20,.08) 50.4%, transparent 50.4%),
    linear-gradient(0deg, transparent 49.6%, rgba(20,20,20,.08) 49.6%, rgba(20,20,20,.08) 50.4%, transparent 50.4%),
    linear-gradient(135deg, rgba(231,245,237,.9), rgba(255,255,255,.96) 47%, rgba(255,246,218,.88));
  overflow: hidden;
}

.owner-return-frontier-v2::before,
.owner-return-frontier-v2::after {
  content: "";
  position: absolute;
  background: rgba(17,17,17,.24);
}

.owner-return-frontier-v2::before {
  left: 40px;
  right: 18px;
  bottom: 42px;
  height: 1px;
}

.owner-return-frontier-v2::after {
  left: 40px;
  top: 20px;
  bottom: 42px;
  width: 1px;
}

.owner-return-frontier-v2 button {
  position: absolute;
  left: var(--x);
  top: var(--y);
  width: var(--s);
  height: var(--s);
  border: 2px solid #111;
  border-radius: 999px;
  background: #fff;
  box-shadow: 0 2px 8px rgba(0,0,0,.14);
  cursor: pointer;
  transform: translate(-50%, -50%);
}

.owner-return-frontier-v2 button.good { border-color: #15834b; }
.owner-return-frontier-v2 button.watch { border-color: #b47a15; }
.owner-return-frontier-v2 button.reduce { border-color: #bf5a17; }
.owner-return-frontier-v2 button.risk { border-color: #c83a2e; }
.owner-return-frontier-v2 button.missing {
  border-style: dashed;
  background: #f7f7f4;
}

.owner-return-frontier-v2 button.active,
.owner-return-frontier-v2 button:focus-visible {
  box-shadow: 0 0 0 4px rgba(17,17,17,.12), 0 2px 10px rgba(0,0,0,.16);
  outline: none;
}

.owner-return-frontier-v2 button span {
  position: absolute;
  left: 50%;
  top: calc(100% + 4px);
  width: 96px;
  color: #3d3d38;
  font-size: 10px;
  font-weight: 760;
  line-height: 1.1;
  opacity: 0;
  pointer-events: none;
  transform: translateX(-50%);
  transition: opacity .15s ease;
}

.owner-return-frontier-v2 button.active span,
.owner-return-frontier-v2 button:hover span,
.owner-return-frontier-v2 button:focus-visible span {
  opacity: 1;
}

.owner-return-frontier-v2 .axis {
  position: absolute;
  color: #5f5f59;
  font-size: 10px;
  font-weight: 820;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.owner-return-frontier-v2 .axis.y {
  left: 8px;
  top: 24px;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
}

.owner-return-frontier-v2 .axis.x {
  right: 20px;
  bottom: 15px;
}

.owner-return-frontier-v2 em {
  position: absolute;
  color: #6f6f68;
  font-size: 10px;
  font-style: normal;
  font-weight: 850;
  text-transform: uppercase;
}

.owner-return-frontier-v2 .q1 { left: 50px; top: 20px; color: #146c42; }
.owner-return-frontier-v2 .q2 { right: 18px; top: 20px; }
.owner-return-frontier-v2 .q3 { left: 50px; bottom: 18px; }
.owner-return-frontier-v2 .q4 { right: 18px; bottom: 18px; color: #a33b32; }

.owner-mix-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(300px, .9fr);
  gap: 12px;
  margin-bottom: 12px;
}

.owner-mix-selected-detail {
  min-height: 170px;
  padding: 13px;
}

.owner-mix-selected-detail article {
  display: grid;
  gap: 8px;
}

.owner-mix-selected-detail p {
  margin: 0;
  color: #4f4f49;
  font-size: 12px;
  line-height: 1.4;
}

.owner-mix-selected-detail dl {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}

.owner-mix-selected-detail div {
  display: grid;
  gap: 2px;
}

.owner-mix-selected-detail dt {
  color: #6a6a64;
  font-size: 10px;
  font-weight: 820;
  text-transform: uppercase;
}

.owner-mix-selected-detail dd {
  margin: 0;
  color: #111;
  font-size: 12px;
  font-weight: 780;
}

.owner-mix-basis-panel {
  padding: 13px;
}

.owner-mix-basis-panel > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}

.owner-mix-basis-panel button {
  display: grid;
  gap: 3px;
  padding: 8px;
  border: 1px solid #e4e4df;
  border-radius: 8px;
  background: #fbfbfa;
  color: #111;
  text-align: left;
  cursor: pointer;
}

.owner-mix-basis-panel button.valid { border-color: rgba(21,131,75,.28); }
.owner-mix-basis-panel button.missing {
  border-color: rgba(200,58,46,.28);
  background: #fff8f7;
}

.owner-mix-basis-panel b {
  color: #111;
  font-size: 11px;
  font-weight: 800;
}

.owner-mix-basis-panel span {
  color: #62625c;
  font-size: 11px;
  font-weight: 650;
}

.owner-capacity-week-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}

.owner-capacity-week-grid button {
  display: grid;
  gap: 7px;
  padding: 10px;
  border: 1px solid #deded8;
  border-radius: 9px;
  background: #fff;
  color: #111;
  text-align: left;
  cursor: pointer;
}

.owner-capacity-week-grid button.active,
.owner-capacity-week-grid button:focus-visible {
  border-color: #111;
  box-shadow: 0 0 0 3px rgba(17,17,17,.08);
  outline: none;
}

.owner-capacity-week-grid button.risk {
  border-color: rgba(200,58,46,.36);
  background: #fff9f8;
}

.owner-capacity-week-grid button.available {
  border-color: rgba(21,131,75,.28);
}

.owner-capacity-week-grid button strong {
  color: #111;
  font-size: 13px;
  font-weight: 850;
}

.owner-capacity-stack {
  display: flex;
  height: 38px;
  border-radius: 8px;
  background: #eeeeea;
  overflow: hidden;
}

.owner-capacity-stack i {
  display: block;
  width: var(--w);
  min-width: 2px;
}

.owner-capacity-stack .assigned,
.owner-capacity-legend .assigned { background: #2e5f9d; }
.owner-capacity-stack .setup,
.owner-capacity-legend .setup { background: #5f6f7f; }
.owner-capacity-stack .rework,
.owner-capacity-legend .rework { background: #9d9d96; }
.owner-capacity-stack .missing,
.owner-capacity-legend .missing { background: #c8a53b; }
.owner-capacity-stack .unused,
.owner-capacity-legend .unused { background: #d9ddd8; }
.owner-capacity-stack .gap { background: #c83a2e; }

.owner-capacity-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 10px;
  color: #55554f;
  font-size: 11px;
  font-weight: 720;
}

.owner-capacity-legend span {
  display: inline-flex;
  gap: 5px;
  align-items: center;
}

.owner-capacity-legend i {
  width: 12px;
  height: 8px;
  border-radius: 999px;
}

.owner-capacity-diagnosis {
  display: grid;
  gap: 12px;
}

.owner-capacity-diagnosis section {
  display: grid;
  gap: 6px;
  padding-bottom: 12px;
  border-bottom: 1px solid #ecece8;
}

.owner-capacity-diagnosis section:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.owner-capacity-quality-meter {
  position: relative;
  height: 10px;
  border-radius: 999px;
  background: #ecece8;
  overflow: hidden;
}

.owner-capacity-quality-meter i {
  display: block;
  width: var(--valid);
  height: 100%;
  border-radius: inherit;
  background: #15834b;
}

.owner-capacity-selected-week {
  margin-bottom: 12px;
}

.owner-capacity-selected-week article {
  display: grid;
  gap: 11px;
}

.owner-capacity-selected-week header {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: baseline;
}

.owner-capacity-product-allocation {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}

.owner-capacity-product-allocation button {
  display: grid;
  gap: 5px;
  padding: 8px;
  border: 1px solid #e4e4df;
  border-radius: 8px;
  background: #fbfbfa;
  color: #111;
  text-align: left;
  cursor: pointer;
}

.owner-capacity-product-allocation button.good { border-color: rgba(21,131,75,.28); }
.owner-capacity-product-allocation button.watch { border-color: rgba(200,165,59,.32); }
.owner-capacity-product-allocation button.risk { border-color: rgba(200,58,46,.28); }

.owner-capacity-product-allocation span {
  display: block;
  height: 8px;
  border-radius: 999px;
  background: #ededeb;
}

.owner-capacity-product-allocation i {
  display: block;
  width: var(--w);
  height: 100%;
  border-radius: inherit;
  background: #2e5f9d;
}

.owner-capacity-product-allocation strong {
  color: #111;
  font-size: 13px;
  font-weight: 850;
}

.owner-capacity-quality-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
  margin-bottom: 12px;
}

.owner-capacity-quality-grid article {
  display: grid;
  gap: 4px;
  padding: 10px;
}

.owner-capacity-scenario-board {
  display: grid;
  gap: 8px;
  margin-bottom: 12px;
}

.owner-capacity-scenario-board button {
  display: grid;
  grid-template-columns: minmax(150px, 1fr) 78px 102px minmax(130px, .8fr);
  gap: 10px;
  align-items: center;
  width: 100%;
  padding: 9px 10px;
  border: 1px solid #e1e1dc;
  border-radius: 8px;
  background: #fff;
  color: #111;
  text-align: left;
  cursor: pointer;
}

.owner-capacity-scenario-board button.active,
.owner-capacity-scenario-board button:focus-visible {
  border-color: #111;
  box-shadow: 0 0 0 3px rgba(17,17,17,.08);
  outline: none;
}

.owner-capacity-scenario-board b {
  color: #111;
  font-size: 12px;
  font-weight: 820;
}

.owner-capacity-scenario-board span,
.owner-capacity-scenario-board em {
  color: #62625c;
  font-size: 12px;
  font-style: normal;
  font-weight: 650;
}

.owner-capacity-scenario-board strong {
  color: #111;
  font-size: 13px;
  font-weight: 850;
}

@media (max-width: 1100px) {
  .owner-mix-proof-first,
  .owner-capacity-proof-first,
  .owner-mix-detail-grid {
    grid-template-columns: 1fr;
  }

  .owner-mix-delta-rail,
  .owner-capacity-quality-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .owner-capacity-week-grid,
  .owner-capacity-product-allocation {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Executive popup Phase 5: Owner Decision and Week Story proof views. */
.owner-popup-workspace.owner-decision-popup,
.owner-popup-workspace.week-story-proof {
  gap: 14px;
}

.owner-decision-proof-first,
.owner-week-story-first {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(330px, .82fr);
  gap: 14px;
  align-items: stretch;
}

.owner-decision-statement-card,
.owner-decision-impact-map article,
.owner-decision-alternatives-v2,
.owner-decision-rationale-zone,
.owner-week-operating-story-v2,
.owner-week-decision-callout,
.owner-week-what-changed-v2 article {
  border: 1px solid #deded8;
  border-radius: 10px;
  background: #fff;
}

.owner-decision-statement-card {
  display: grid;
  gap: 12px;
  padding: 16px;
  border-top: 3px solid #d4a51f;
}

.owner-decision-statement-card > span,
.owner-decision-impact-map span,
.owner-decision-alternatives-v2 header span,
.owner-week-operating-story-v2 header span,
.owner-week-decision-callout span {
  color: #686861;
  font-size: 10.5px;
  font-weight: 860;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.owner-decision-statement-card > strong {
  max-width: 760px;
  color: #111;
  font-size: clamp(24px, 2.1vw, 34px);
  font-weight: 900;
  line-height: 1.02;
  letter-spacing: 0;
}

.owner-decision-statement-card > p,
.owner-week-decision-callout p {
  max-width: 760px;
  margin: 0;
  color: #4f4f49;
  font-size: 13px;
  line-height: 1.45;
}

.owner-decision-statement-card dl {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}

.owner-decision-statement-card dl div {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 8px 10px;
  border-radius: 8px;
  background: #f6f7f5;
}

.owner-decision-statement-card dt,
.owner-decision-rationale-zone dt {
  color: #73736d;
  font-size: 9.5px;
  font-weight: 840;
  text-transform: uppercase;
}

.owner-decision-statement-card dd,
.owner-decision-rationale-zone dd {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  color: #151515;
  font-size: 12px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.owner-decision-impact-bridge {
  display: grid;
  gap: 8px;
  padding-top: 2px;
}

.owner-decision-impact-bridge span {
  display: grid;
  grid-template-columns: 142px minmax(80px, 1fr) minmax(110px, auto);
  gap: 10px;
  align-items: center;
  min-width: 0;
}

.owner-decision-impact-bridge b {
  color: #4f4f49;
  font-size: 11px;
  font-weight: 800;
}

.owner-decision-impact-bridge i {
  display: block;
  height: 8px;
  border-radius: 999px;
  background: linear-gradient(90deg, #202020 0 var(--w), #ebece9 var(--w) 100%);
}

.owner-decision-impact-bridge .action i {
  background: linear-gradient(90deg, #d4a51f 0 var(--w), #ebece9 var(--w) 100%);
}

.owner-decision-impact-bridge strong {
  overflow: hidden;
  color: #111;
  font-size: 12px;
  font-weight: 850;
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.owner-decision-impact-map {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.owner-decision-impact-map article {
  display: grid;
  gap: 7px;
  min-height: 132px;
  padding: 13px;
  border-top: 3px solid #c5c5be;
}

.owner-decision-impact-map article.cash { border-top-color: #1f6f9a; }
.owner-decision-impact-map article.inventory { border-top-color: #d4a51f; }
.owner-decision-impact-map article.gp { border-top-color: #16834b; }
.owner-decision-impact-map article.ops { border-top-color: #5a6670; }

.owner-decision-impact-map strong {
  color: #111;
  font-size: 18px;
  font-weight: 890;
  line-height: 1.08;
}

.owner-decision-impact-map p {
  margin: 0;
  color: #54544e;
  font-size: 12px;
  line-height: 1.38;
}

.owner-decision-alternatives-v2 {
  display: grid;
  gap: 9px;
  padding: 12px;
}

.owner-decision-alternatives-v2 header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 6px;
  border-bottom: 1px solid #ededeb;
}

.owner-decision-alternatives-v2 h4 {
  margin: 0;
  color: #111;
  font-size: 13px;
  font-weight: 880;
  text-transform: uppercase;
}

.owner-decision-alternatives-v2 .head,
.owner-decision-alternatives-v2 button {
  display: grid;
  grid-template-columns: minmax(210px, 1.4fr) repeat(6, minmax(88px, .75fr));
  gap: 9px;
  align-items: center;
}

.owner-decision-alternatives-v2 .head {
  color: #74746e;
  font-size: 9.5px;
  font-weight: 860;
  text-transform: uppercase;
}

.owner-decision-alternatives-v2 button {
  width: 100%;
  padding: 10px 0;
  border: 0;
  border-top: 1px solid #f0f0ed;
  background: transparent;
  color: #111;
  text-align: left;
  cursor: pointer;
}

.owner-decision-alternatives-v2 button.active,
.owner-decision-alternatives-v2 button:focus-visible {
  outline: 2px solid rgba(212, 165, 31, .35);
  outline-offset: 2px;
}

.owner-decision-alternatives-v2 button b {
  color: #111;
  font-size: 12.5px;
  font-weight: 850;
}

.owner-decision-alternatives-v2 button span,
.owner-decision-alternatives-v2 button em {
  color: #52524c;
  font-size: 11.5px;
  font-style: normal;
  font-weight: 650;
}

.owner-decision-rationale-zone {
  padding: 13px 14px;
  border-left: 3px solid #d4a51f;
  background: #fbfbf8;
}

.owner-decision-rationale-zone article {
  display: grid;
  gap: 8px;
}

.owner-decision-rationale-zone span {
  color: #686861;
  font-size: 10px;
  font-weight: 850;
  text-transform: uppercase;
}

.owner-decision-rationale-zone strong {
  color: #111;
  font-size: 18px;
  font-weight: 880;
}

.owner-decision-rationale-zone p {
  max-width: 980px;
  margin: 0;
  color: #4f4f49;
  font-size: 12.5px;
  line-height: 1.45;
}

.owner-decision-rationale-zone dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}

.owner-decision-rationale-zone dl div {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 8px 10px;
  border-radius: 8px;
  background: #fff;
}

.owner-decision-rationale-zone dd {
  white-space: normal;
}

.owner-decision-controls-v2 {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: flex-start;
}

.owner-week-waterfall-zone {
  display: grid;
  align-content: start;
  gap: 10px;
  min-width: 0;
}

.owner-week-waterfall-zone .owner-liquidity-waterfall-panel {
  height: 100%;
  margin: 0;
}

.owner-week-operating-story-v2 {
  display: grid;
  align-content: start;
  gap: 10px;
  padding: 12px;
}

.owner-week-operating-story-v2 header {
  display: grid;
  gap: 2px;
  padding-bottom: 7px;
  border-bottom: 1px solid #ededeb;
}

.owner-week-operating-story-v2 header strong {
  color: #111;
  font-size: 18px;
  font-weight: 890;
  line-height: 1.08;
}

.owner-week-operating-story-v2 header em {
  color: #676761;
  font-size: 11.5px;
  font-style: normal;
  font-weight: 650;
}

.owner-week-activity-bars {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 10px;
}

.owner-week-activity-bars article {
  display: grid;
  grid-template-columns: minmax(76px, .8fr) minmax(52px, 1fr) minmax(58px, auto);
  gap: 6px;
  align-items: center;
  min-width: 0;
  padding-bottom: 7px;
  border-bottom: 1px solid #f0f0ed;
}

.owner-week-activity-bars article:last-child {
  border-bottom: 0;
}

.owner-week-activity-bars b {
  color: #4c4c46;
  font-size: 10.5px;
  font-weight: 810;
}

.owner-week-activity-bars i {
  height: 7px;
  border-radius: 999px;
  background: linear-gradient(90deg, #1f6f9a 0 var(--w), #ebece9 var(--w) 100%);
}

.owner-week-activity-bars .good i { background: linear-gradient(90deg, #16834b 0 var(--w), #ebece9 var(--w) 100%); }
.owner-week-activity-bars .watch i { background: linear-gradient(90deg, #d4a51f 0 var(--w), #ebece9 var(--w) 100%); }
.owner-week-activity-bars .risk i { background: linear-gradient(90deg, #c83a2e 0 var(--w), #ebece9 var(--w) 100%); }

.owner-week-activity-bars strong {
  overflow: hidden;
  color: #111;
  font-size: 11.5px;
  font-weight: 850;
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.owner-week-activity-bars span {
  grid-column: 1 / -1;
  margin-top: -4px;
  color: #696963;
  font-size: 10.5px;
  font-weight: 650;
}

.owner-week-decision-callout {
  display: grid;
  gap: 6px;
  padding: 12px;
  border-color: rgba(212, 165, 31, .55);
  background: #fffdf7;
}

.owner-week-decision-callout strong {
  color: #111;
  font-size: 16px;
  font-weight: 880;
  line-height: 1.15;
}

.owner-week-what-changed-v2 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.owner-week-what-changed-v2 article {
  display: grid;
  gap: 5px;
  padding: 11px 12px;
  background: #fbfbf8;
}

.owner-week-what-changed-v2 b {
  color: #111;
  font-size: 12px;
  font-weight: 850;
}

.owner-week-what-changed-v2 p {
  margin: 0;
  color: #50504a;
  font-size: 12px;
  line-height: 1.4;
}

@media (max-width: 1180px) {
  .owner-decision-proof-first,
  .owner-week-story-first {
    grid-template-columns: 1fr;
  }

  .owner-decision-impact-map {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .owner-decision-alternatives-v2 .head {
    display: none;
  }

  .owner-decision-alternatives-v2 button {
    grid-template-columns: minmax(190px, 1fr) repeat(3, minmax(80px, .7fr));
  }

  .owner-decision-alternatives-v2 button span:nth-of-type(n + 4),
  .owner-decision-alternatives-v2 button em {
    display: none;
  }
}

/* Audit hardening: model health, scenario controls, product bridge, and wide-grid ergonomics. */
.model-health-strip {
  display: grid;
  grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr);
  gap: 10px;
  align-items: stretch;
  padding: 10px;
  border: 1px solid #d7dee9;
  background: #f8fafc;
  color: #182033;
}

.model-health-strip.warn {
  border-color: #e0b65f;
  background: #fffaf0;
}

.model-health-copy,
.model-health-item {
  display: grid;
  gap: 3px;
}

.model-health-copy strong,
.model-health-item strong {
  font-size: 12px;
  font-weight: 850;
}

.model-health-copy span,
.model-health-item span {
  color: #526071;
  font-size: 11.5px;
  line-height: 1.35;
}

.model-health-items {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 8px;
}

.model-health-item {
  padding: 8px 9px;
  border: 1px solid #dfe6ef;
  background: #fff;
  text-decoration: none;
}

.model-health-item.danger {
  border-color: #e5a6a0;
  background: #fff7f6;
}

.model-health-item.ok {
  border-color: #b8d9c8;
  background: #f2fbf6;
}

.scenario-control-shell {
  border: 1px solid #d7dee9;
  background: #fff;
  padding: 12px;
}

.owner-plan-title {
  display: grid;
  gap: 3px;
}

.owner-plan-title em {
  color: #677487;
  font-size: 11.5px;
  font-style: normal;
}

.owner-scenario-state,
.owner-scenario-delta-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 8px;
  margin-top: 10px;
}

.owner-scenario-state span,
.owner-scenario-delta-grid span,
.scenario-shell-status span {
  display: grid;
  gap: 2px;
  padding: 9px;
  border: 1px solid #dfe6ef;
  background: #fbfcfe;
}

.owner-scenario-state b,
.owner-scenario-delta-grid b,
.scenario-shell-status b {
  color: #657286;
  font-size: 10.5px;
  text-transform: uppercase;
}

.owner-scenario-state strong,
.owner-scenario-delta-grid strong,
.scenario-shell-status strong {
  color: #111827;
  font-size: 14px;
  font-weight: 850;
}

.owner-scenario-state em,
.owner-scenario-delta-grid em,
.scenario-shell-status em {
  color: #657286;
  font-size: 11px;
  font-style: normal;
}

.owner-scenario-feedback {
  grid-column: 1 / -1;
  padding: 8px 10px;
  border: 1px solid #dfe6ef;
  background: #f8fafc;
  color: #526071;
  font-size: 12px;
}

.owner-scenario-feedback.ok {
  border-color: #b8d9c8;
  background: #f2fbf6;
  color: #22553b;
}

.owner-scenario-feedback.error {
  border-color: #e5a6a0;
  background: #fff7f6;
  color: #9f2b23;
}

.saved-scenario-list .scenario-empty-card {
  display: grid;
  gap: 4px;
  padding: 14px;
  border: 1px dashed #c9d3df;
  color: #526071;
}

.product-economics-bridge {
  display: grid;
  gap: 10px;
}

.economics-bridge-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.economics-bridge-grid article {
  display: grid;
  gap: 4px;
  padding: 11px;
  border: 1px solid #dfe6ef;
  background: #fbfcfe;
}

.economics-bridge-grid span,
.economics-bridge-note strong {
  color: #657286;
  font-size: 10.5px;
  font-weight: 850;
  text-transform: uppercase;
}

.economics-bridge-grid strong {
  color: #111827;
  font-size: 16px;
  font-weight: 880;
}

.economics-bridge-grid em,
.economics-bridge-note span {
  color: #526071;
  font-size: 11.5px;
  font-style: normal;
  line-height: 1.35;
}

.economics-bridge-note {
  display: grid;
  gap: 4px;
  padding: 10px;
  border: 1px solid #b8d9c8;
  background: #f2fbf6;
}

.economics-bridge-note.review {
  border-color: #e0b65f;
  background: #fffaf0;
}

.product-management-economics-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
  gap: 10px;
}

.qbo-setup-warning {
  display: grid;
  gap: 3px;
  margin: 0 0 10px;
  padding: 10px;
  border: 1px solid #e0b65f;
  background: #fffaf0;
}

.qbo-setup-warning.ok {
  border-color: #b8d9c8;
  background: #f2fbf6;
}

.qbo-setup-warning strong {
  color: #111827;
  font-size: 12px;
  font-weight: 850;
}

.qbo-setup-warning span {
  color: #526071;
  font-size: 11.5px;
  line-height: 1.35;
}

.grid-scroll-toolbar {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 10px 0 6px;
  padding: 8px;
  border: 1px solid #dfe6ef;
  background: #fbfcfe;
}

.grid-scroll-toolbar span {
  margin-right: auto;
  color: #526071;
  font-size: 12px;
  font-weight: 800;
}

.pl-table-scroll,
.pl-table-scroll.table-scroll {
  overflow: auto !important;
  overflow-x: auto !important;
  overflow-y: auto !important;
  max-width: 100%;
  max-height: calc(100vh - 250px);
}

.pl-scroll-rail,
.cash-scroll-rail {
  overflow-x: auto;
  overflow-y: hidden;
  height: 16px;
  border: 1px solid #dfe6ef;
  background: #f8fafc;
}

.pl-scroll-rail > div,
.cash-scroll-rail > div {
  height: 1px;
}

.pl-matrix thead th,
.combined-cash-matrix thead th {
  position: sticky;
  top: 0;
  z-index: 65;
}

.pl-matrix th:first-child,
.pl-matrix td:first-child {
  position: sticky;
  left: 0;
  z-index: 55;
  background: var(--pl-sticky-bg, #fff);
  box-shadow: 1px 0 0 #cfd8e3;
}

.pl-matrix thead th:first-child {
  z-index: 75;
}

.pl-matrix th:last-child,
.pl-matrix td:last-child {
  position: sticky;
  right: 0;
  z-index: 54;
  background: var(--pl-sticky-bg, #f8fafc);
  box-shadow: -1px 0 0 #cfd8e3;
}

.pl-matrix thead th:last-child {
  z-index: 74;
}

.menu-caret {
  display: inline-block;
  margin-left: 4px;
  color: #526071;
  font-size: 10px;
  line-height: 1;
}

.grid-mobile-review,
.owner-mobile-review {
  display: none;
}

.owner-mobile-review {
  border: 1px solid #d7dee9;
  background: #fff;
  padding: 10px;
}

.owner-mobile-review-head,
.owner-mobile-review-grid article {
  display: grid;
  gap: 4px;
}

.owner-mobile-review-head span,
.owner-mobile-review-grid span {
  color: #657286;
  font-size: 10.5px;
  font-weight: 850;
  text-transform: uppercase;
}

.owner-mobile-review-head strong,
.owner-mobile-review-grid strong {
  color: #111827;
  font-size: 15px;
  font-weight: 880;
  line-height: 1.15;
}

.owner-mobile-review-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 8px;
}

.owner-mobile-review-grid article {
  padding: 9px;
  border: 1px solid #dfe6ef;
  background: #fbfcfe;
}

.owner-mobile-review-grid article.risk {
  border-color: #e0b65f;
  background: #fffaf0;
}

.owner-mobile-review-grid article.good {
  border-color: #b8d9c8;
  background: #f2fbf6;
}

.owner-mobile-review-grid em {
  color: #526071;
  font-size: 11px;
  font-style: normal;
  line-height: 1.35;
}

@media (max-width: 1100px) {
  .model-health-strip,
  .economics-bridge-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .grid-scroll-toolbar,
  .pl-scroll-rail,
  .cash-scroll-rail,
  .pl-table-scroll,
  .cash-forecast-panel,
  .pl-format-panel {
    display: none !important;
  }

  .grid-mobile-review {
    display: grid;
    gap: 8px;
    margin: 10px 0;
    padding: 10px;
    border: 1px solid #d7dee9;
    background: #fff;
  }

  .grid-mobile-review strong {
    color: #111827;
    font-size: 15px;
  }

  .grid-mobile-review span,
  .grid-mobile-review b,
  .grid-mobile-review a {
    color: #526071;
    font-size: 12px;
  }

  .grid-mobile-review div {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
  }

  body.owner-dashboard-route .owner-exec-dashboard.owner-exec-unified {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 8px;
    max-width: 100%;
    overflow-x: hidden;
  }

  body.owner-dashboard-route .owner-mobile-review {
    display: block;
  }

  body.owner-dashboard-route .owner-exec-diagnosis,
  body.owner-dashboard-route .owner-exec-kpi-grid,
  body.owner-dashboard-route .owner-exec-main-grid,
  body.owner-dashboard-route .owner-exec-mini-grid,
  body.owner-dashboard-route .owner-product-priority-strip,
  body.owner-dashboard-route .owner-product-decision-grid,
  body.owner-dashboard-route .owner-weekly-rhythm-panel {
    display: none !important;
  }

  .owner-mobile-review-grid {
    grid-template-columns: 1fr;
  }

  .model-health-strip,
  .model-health-items,
  .owner-scenario-state,
  .owner-scenario-delta-grid,
  .product-management-economics-list {
    grid-template-columns: 1fr;
  }
}

/* Second-pass audit hardening: contrast, scenario governance, compact trust strip, and viewport containment. */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

#app,
.content,
#view {
  min-width: 0;
  max-width: 100%;
}

.topbar {
  color: #111827 !important;
}

.topbar h1 {
  color: #111827 !important;
  font-weight: 850;
}

.topbar-title,
.topbar-actions,
.page-actions {
  min-width: 0;
}

.page-actions .btn,
.topbar .btn.ghost,
.topbar .icon-btn {
  color: #111827;
}

.mobile-nav-btn,
body.owner-dashboard-route .topbar .mobile-nav-btn,
body.owner-dashboard-route .topbar .owner-model-controls-button {
  border-color: #d7dee9 !important;
  background: #fff !important;
  color: #111827 !important;
}

body.owner-dashboard-route .topbar,
body.owner-dashboard-route .topbar h1 {
  color: #fff !important;
}

.sidebar {
  width: 272px;
  min-width: 272px;
  overflow: hidden;
}

.brand,
.brand-text,
.nav-item,
.sidebar-foot,
.sidebar-user span {
  min-width: 0;
}

.brand-text strong,
.brand-text span,
.nav-item,
.sidebar-foot span,
.sidebar-user strong,
.sidebar-user em {
  overflow: hidden;
  max-width: 100%;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.nav-item {
  width: 100%;
}

body.owner-dashboard-route .nav-item {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

details.model-health-strip {
  display: block;
  padding: 0;
  border: 1px solid #d7dee9;
  background: #f8fafc;
  color: #182033;
}

details.model-health-strip.warn {
  border-color: #e0b65f;
  background: #fffaf0;
}

details.model-health-strip > summary {
  display: grid;
  grid-template-columns: minmax(230px, 1.1fr) minmax(170px, .6fr) minmax(220px, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 9px 10px;
  list-style: none;
  cursor: pointer;
}

details.model-health-strip > summary::-webkit-details-marker {
  display: none;
}

.model-health-copy {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.model-health-copy strong {
  color: #111827;
  font-size: 12px;
}

.model-health-copy span {
  color: #526071;
  font-size: 11.5px;
  line-height: 1.3;
}

.model-health-severity {
  display: grid;
  gap: 1px;
  min-width: 0;
  padding: 6px 8px;
  border: 1px solid #dfe6ef;
  background: #fff;
}

.model-health-severity.danger {
  border-color: #e5a6a0;
  background: #fff7f6;
}

.model-health-severity b {
  color: #657286;
  font-size: 10px;
  text-transform: uppercase;
}

.model-health-severity em {
  overflow: hidden;
  color: #111827;
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.model-health-route-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  min-width: 0;
}

.model-health-link-chip {
  max-width: 160px;
  overflow: hidden;
  padding: 3px 7px;
  border: 1px solid #dfe6ef;
  background: #fff;
  color: #526071;
  font-size: 10.5px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.model-health-link-chip.danger {
  border-color: #e5a6a0;
  color: #9f2b23;
}

.model-health-link-chip.ok {
  border-color: #b8d9c8;
  color: #22553b;
}

.model-health-toggle {
  color: #111827;
  font-size: 11px;
  font-weight: 850;
}

details.model-health-strip[open] .model-health-toggle {
  color: #075985;
}

details.model-health-strip .model-health-items {
  padding: 0 10px 10px;
}

.scenario-applied-status {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 9px 10px;
  border: 1px solid #d7dee9;
  background: #fff;
  color: #111827;
}

.scenario-applied-status.applied {
  border-color: #b8d9c8;
  background: #f2fbf6;
}

.scenario-applied-status div {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.scenario-applied-status span {
  color: #657286;
  font-size: 10.5px;
  font-weight: 850;
  text-transform: uppercase;
}

.scenario-applied-status strong {
  color: #111827;
  font-size: 13px;
}

.scenario-applied-status em {
  overflow: hidden;
  color: #526071;
  font-size: 11.5px;
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.scenario-compare-table-wrap {
  grid-column: 1 / -1;
}

.scenario-compare-table {
  display: grid;
  overflow: hidden;
  border: 1px solid #dfe6ef;
  background: #fff;
}

.scenario-compare-table .head,
.scenario-compare-table > div {
  display: grid;
  grid-template-columns: minmax(140px, 1fr) minmax(120px, .8fr) minmax(120px, .8fr) minmax(90px, .5fr);
  gap: 8px;
  align-items: center;
  padding: 7px 9px;
  border-bottom: 1px solid #edf1f5;
}

.scenario-compare-table .head {
  background: #f8fafc;
  color: #657286;
  font-size: 10.5px;
  font-weight: 850;
  text-transform: uppercase;
}

.scenario-compare-table > div:last-child {
  border-bottom: 0;
}

.scenario-compare-table span,
.scenario-compare-table strong,
.scenario-compare-table em {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.scenario-compare-table span {
  color: #111827;
  font-weight: 760;
}

.scenario-compare-table strong {
  color: #111827;
  font-size: 12px;
}

.scenario-compare-table em {
  color: #657286;
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
}

.scenario-compare-table .changed em {
  color: #075985;
}

.saved-scenario-list-updated {
  box-shadow: inset 0 0 0 2px #99f6e4;
}

.saved-scenario-row.applied {
  border-color: #b8d9c8;
  background: #f2fbf6;
}

@media (min-width: 1000px) and (max-width: 1380px) {
  .sidebar {
    width: 240px;
    min-width: 240px;
  }

  #view {
    padding-left: 18px;
    padding-right: 18px;
  }
}

@media (max-width: 760px) {
  #app {
    display: block;
  }

  .sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    width: min(288px, calc(100vw - 56px));
    min-width: 0;
    height: 100dvh;
    transform: translateX(-105%);
    transition: transform .16s ease;
  }

  body.nav-open .sidebar {
    transform: translateX(0);
  }

  body:not(.nav-open) .mobile-scrim {
    display: none;
  }

  .content {
    width: 100%;
    min-height: 100dvh;
  }

  .topbar,
  body.owner-dashboard-route .topbar {
    display: grid;
    grid-template-columns: 1fr;
    gap: 8px;
    min-height: 0;
    padding: 8px 12px;
    align-items: stretch;
  }

  .topbar-title {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 10px;
    width: 100%;
  }

  .topbar h1,
  body.owner-dashboard-route .topbar h1 {
    min-width: 0;
    font-size: 20px;
    line-height: 1.15;
    white-space: normal;
  }

  .topbar-actions,
  .page-actions,
  body.owner-dashboard-route .topbar-actions,
  body.owner-dashboard-route .page-actions {
    width: 100%;
    justify-content: flex-start;
    overflow: visible;
  }

  .page-actions .btn,
  .page-actions select,
  .page-actions input {
    max-width: 100%;
  }

  .pl-view-menu {
    max-width: 100%;
  }

  .pl-view-menu-panel {
    right: auto;
    left: 0;
    max-width: calc(100vw - 24px);
  }

  #view,
  #view:has(.pl-page) {
    padding: 10px 12px 48px;
    overflow-x: hidden;
  }

  details.model-health-strip > summary {
    grid-template-columns: 1fr;
  }

  .model-health-route-chips {
    display: none;
  }

  .scenario-applied-status {
    grid-template-columns: 1fr;
  }

  .scenario-applied-status em {
    white-space: normal;
  }

  .scenario-compare-table {
    overflow-x: auto;
  }

  .scenario-compare-table .head,
  .scenario-compare-table > div {
    min-width: 520px;
  }

  body.owner-dashboard-route .owner-exec-top-controls,
  body.owner-dashboard-route .owner-exec-top-controls.owner-exec-header-compact,
  .owner-mock-header-controls {
    grid-template-columns: minmax(0, 1fr) minmax(94px, auto);
    gap: 6px 8px;
    width: 100%;
  }

  body.owner-dashboard-route .owner-exec-top-controls .owner-exec-top-select,
  .owner-mock-header-controls label {
    grid-column: 1 / -1;
    min-width: 0;
  }

  body.owner-dashboard-route .owner-exec-top-controls .owner-exec-meta,
  .owner-mock-header-controls > span {
    min-width: 0;
    overflow: visible;
    overflow-wrap: anywhere;
    white-space: normal;
  }

  body.owner-dashboard-route .owner-exec-top-controls .owner-exec-meta:last-of-type,
  .owner-mock-header-controls > span:nth-of-type(3) {
    display: none;
  }

  body.owner-dashboard-route .owner-exec-top-controls .owner-exec-actions,
  .owner-mock-header-controls button {
    grid-column: 1 / -1;
    justify-self: stretch;
  }

  details.model-health-strip,
  details.model-health-strip > summary,
  .model-health-items,
  .scenario-applied-status,
  .scenario-applied-status > div {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  .scenario-applied-status span,
  .scenario-applied-status strong,
  .scenario-applied-status em,
  .model-health-items span,
  .model-health-items strong {
    min-width: 0;
    white-space: normal;
    overflow-wrap: anywhere;
  }
}

/* Owner Dashboard trust-gate refinements: keep KPI basis text visible. */
body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi {
  min-height: 138px;
  align-content: start;
  gap: 5px;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi > span:not(.owner-kpi-visual),
body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi > em,
body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi > b {
  overflow: visible;
  white-space: normal;
  text-overflow: clip;
  max-width: 100%;
}

body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi > em,
body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi > b {
  min-height: 0;
  line-height: 1.22;
}

body.owner-dashboard-route .owner-exec-unified .owner-kpi-visual small {
  white-space: normal;
  line-height: 1.1;
}

body.owner-dashboard-route .scenario-applied-status.baseline-proof {
  border-color: #b9d7c5;
  background: #f3fbf6;
}

@media (min-width: 1180px) {
  body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi-grid {
    grid-template-columns: repeat(8, minmax(118px, 1fr));
  }
}

@media (min-width: 900px) and (max-width: 1400px) {
  body.owner-dashboard-route .brand-text strong,
  body.owner-dashboard-route .brand-text span,
  body.owner-dashboard-route .nav-item {
    overflow: visible;
    white-space: normal;
    text-overflow: clip;
    line-height: 1.12;
  }

  body.owner-dashboard-route .nav-item {
    min-height: 42px;
    padding-right: 8px;
    font-size: 12.5px;
  }
}

@media (max-width: 640px) {
  .owner-popup-modal.owner-executive-modal {
    width: calc(100vw - 16px);
    height: min(92dvh, 860px);
    max-height: 92dvh;
  }

  .owner-popup-modal.owner-executive-modal h3 {
    min-height: 46px;
    padding: 10px 50px 9px 12px;
    font-size: 16px;
  }

  .owner-popup-modal.owner-executive-modal .modal-body {
    padding: 10px 12px 12px;
  }

  .owner-kpi-proof-hero,
  .coverage-gauge {
    grid-template-columns: 1fr;
  }

  .owner-kpi-proof-hero strong {
    font-size: clamp(27px, 12vw, 42px);
  }

  .owner-proof-waterfall-mini,
  .owner-proof-legend {
    grid-template-columns: 1fr;
  }

  .owner-proof-timeline-strip {
    min-height: 108px;
    overflow-x: auto;
  }

  .owner-proof-timeline-strip span {
    min-width: 76px;
    transform: translateX(-22px);
  }

  .owner-proof-source-table {
    min-width: 680px;
  }

  .owner-kpi-drill-actions .btn {
    flex: 1 1 100%;
    justify-content: center;
  }

  body.owner-dashboard-route details.model-health-strip > summary {
    gap: 8px;
  }

  body.owner-dashboard-route .model-health-severity,
  body.owner-dashboard-route .model-health-toggle {
    justify-self: stretch;
  }
}

/* Final narrow-screen containment: dashboard status text must wrap, never clip. */
@media (max-width: 760px) {
  html,
  body,
  body.owner-dashboard-route,
  body.owner-dashboard-route .content,
  body.owner-dashboard-route .topbar,
  body.owner-dashboard-route #view {
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }

  body.owner-dashboard-route .topbar-actions,
  body.owner-dashboard-route .page-actions {
    min-width: 0 !important;
    max-width: calc(100vw - 24px) !important;
  }

  body.owner-dashboard-route .owner-exec-top-controls.owner-exec-header-compact {
    grid-template-columns: minmax(0, 1fr) !important;
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
    overflow: hidden;
  }

  body.owner-dashboard-route .owner-exec-top-controls.owner-exec-header-compact > * {
    grid-column: 1 !important;
    min-width: 0;
    max-width: 100%;
  }

  body.owner-dashboard-route .owner-exec-top-controls.owner-exec-header-compact select,
  body.owner-dashboard-route .owner-exec-top-controls.owner-exec-header-compact button {
    width: 100% !important;
    max-width: 100% !important;
    justify-self: stretch !important;
  }

  body.owner-dashboard-route details.model-health-strip,
  body.owner-dashboard-route details.model-health-strip > summary,
  body.owner-dashboard-route .model-health-copy,
  body.owner-dashboard-route .model-health-copy > *,
  body.owner-dashboard-route .model-health-severity,
  body.owner-dashboard-route .model-health-severity > *,
  body.owner-dashboard-route .scenario-applied-status,
  body.owner-dashboard-route .scenario-applied-status > div,
  body.owner-dashboard-route .scenario-applied-status span,
  body.owner-dashboard-route .scenario-applied-status strong,
  body.owner-dashboard-route .scenario-applied-status em {
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow: visible !important;
    overflow-wrap: anywhere !important;
    text-overflow: clip !important;
  }

  body.owner-dashboard-route details.model-health-strip,
  body.owner-dashboard-route .scenario-applied-status {
    width: calc(100vw - 56px) !important;
    max-width: calc(100vw - 56px) !important;
    box-sizing: border-box;
    overflow: hidden !important;
  }

  body.owner-dashboard-route details.model-health-strip > summary {
    display: block !important;
    min-height: 0 !important;
    height: auto !important;
  }

  body.owner-dashboard-route .model-health-severity,
  body.owner-dashboard-route .model-health-route-chips {
    display: none !important;
  }

  body.owner-dashboard-route .model-health-copy,
  body.owner-dashboard-route .scenario-applied-status > div {
    display: grid;
    width: 100% !important;
    height: auto !important;
    overflow: hidden !important;
  }

  body.owner-dashboard-route .scenario-applied-status {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    height: auto !important;
  }

  body.owner-dashboard-route .model-health-copy > *,
  body.owner-dashboard-route .scenario-applied-status span,
  body.owner-dashboard-route .scenario-applied-status strong,
  body.owner-dashboard-route .scenario-applied-status em {
    display: block;
    width: 100%;
    height: auto !important;
    overflow: hidden !important;
    word-break: break-word !important;
  }
}
/* ---------- Throughput decision vertical slice ---------- */
.owner-throughput-section,.throughput-workspace-panel,.throughput-workspace-hero{background:var(--surface,#fff);border:1px solid var(--border,#dce3e8);border-radius:14px;box-shadow:0 8px 24px rgba(20,35,50,.06)}
.owner-throughput-section{padding:20px;margin:18px 0;overflow:hidden}.owner-throughput-head,.throughput-workspace-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.owner-throughput-head span,.throughput-workspace-panel header span,.throughput-workspace-hero>div>span{font-size:11px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#637582}.owner-throughput-head h2,.throughput-workspace-hero h2{margin:4px 0 5px;font-size:24px;color:var(--text,#18262f)}.owner-throughput-head p,.throughput-workspace-hero p{margin:0;color:var(--muted,#63727c)}
.owner-throughput-grid{display:grid;grid-template-columns:1.05fr 1fr 1.25fr;gap:12px;margin-top:16px}.owner-throughput-grid>article,.throughput-hero-kpi{border:1px solid var(--border,#dce3e8);border-radius:11px;background:var(--surface-2,#f7fafb);padding:15px;text-align:left}.throughput-hero-kpi{cursor:pointer;color:inherit}.throughput-hero-kpi:hover,.throughput-hero-kpi:focus-visible{border-color:#147a88;box-shadow:0 0 0 3px rgba(20,122,136,.12)}.throughput-hero-kpi>span,.throughput-constraint-card>span,.throughput-trend-card>span,.throughput-ranking-card>div>span{display:block;font-size:12px;font-weight:800;color:#556772}.throughput-hero-kpi>strong{display:block;font-size:34px;line-height:1.1;margin:8px 0;color:#0d6672}.throughput-hero-kpi strong small{font-size:12px;color:#637582}.throughput-hero-kpi>em{font-size:11px;color:#687985}.throughput-hero-kpi p{font-size:12px;margin:12px 0 0}.throughput-constraint-card strong{display:block;font-size:17px;margin:7px 0 2px}.throughput-constraint-card>em{font-size:11px;font-style:normal;font-weight:800;color:#a35d00}.throughput-constraint-card.risk>em{color:#b43b38}.throughput-constraint-card>p{font-size:12px;line-height:1.45;color:#566771}.throughput-ranking-card{grid-column:1/-1}.throughput-ranking-card>div{display:flex;justify-content:space-between}.throughput-ranking-card a{font-size:12px;font-weight:800;color:#0d7180}
.throughput-trend{height:180px;display:flex;align-items:stretch;gap:9px;padding:14px 6px 0;border-bottom:1px solid #cdd7dc}.throughput-trend.compact{height:125px;padding-top:8px}.throughput-trend-col{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:flex-end;text-align:center}.throughput-trend-col>span{height:calc(var(--bar) * .78);min-height:16px;display:flex;flex-direction:column;justify-content:flex-start;position:relative}.throughput-trend-col i{position:absolute;inset:0;background:linear-gradient(180deg,#18a0a9,#0d6e7b);border-radius:5px 5px 0 0}.throughput-trend-col b{position:relative;z-index:1;font-size:10px;color:#fff;padding-top:4px;white-space:nowrap}.throughput-trend-col em{height:28px;padding-top:5px;font-size:10px;font-style:normal;color:#657680;white-space:nowrap}
.throughput-bullet{margin-top:12px}.throughput-bullet>div{height:12px;background:#dce4e7;border-radius:20px;position:relative;overflow:visible}.throughput-bullet>div span{display:block;height:100%;background:#d99b38;border-radius:20px}.throughput-bullet>div i{position:absolute;top:-4px;width:2px;height:20px;background:#243d46}.throughput-bullet p{display:flex;gap:12px;justify-content:space-between;margin:7px 0 3px;font-size:10px}.throughput-bullet small{font-size:10px;color:#6a7b85}
.throughput-ranking{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}.throughput-ranking button{border:1px solid #dce4e8;background:#fff;border-radius:9px;padding:10px;text-align:left;color:inherit;cursor:pointer}.throughput-ranking button:hover,.throughput-ranking button:focus-visible{border-color:#19808c}.throughput-ranking button>span{display:grid;grid-template-columns:22px 1fr auto;gap:6px;align-items:center}.throughput-ranking button>span>b{width:20px;height:20px;border-radius:50%;background:#e6f2f3;color:#0a6974;text-align:center;padding-top:3px;font-size:10px}.throughput-ranking button strong{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.throughput-ranking button em{font-size:11px;font-style:normal;font-weight:800}.throughput-ranking button>i{display:block;height:5px;background:#edf1f3;border-radius:9px;margin:8px 0}.throughput-ranking button>i u{display:block;height:100%;background:#16838e;border-radius:9px}.throughput-ranking button small{font-size:9px;color:#6b7a83}
.throughput-recommendation{margin-top:13px;border:1px solid #e3c686;background:#fff9e9;border-radius:11px;padding:14px}.throughput-recommendation.fundable{border-color:#9fcdb7;background:#f0faf5}.throughput-recommendation>span{display:block;font-size:10px;text-transform:uppercase;font-weight:900;letter-spacing:.06em;color:#9a5c00}.throughput-recommendation>strong{display:block;margin:5px 0 12px;font-size:14px}.throughput-recommendation>div{display:flex;gap:26px}.throughput-recommendation>div b{font-size:16px}.throughput-recommendation>div em{display:block;font-size:9px;text-transform:uppercase;font-style:normal;color:#6c7a82}.throughput-recommendation>p{font-size:11px;margin:10px 0 0;color:#606e76}.owner-throughput-foot{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:12px}.owner-throughput-foot p{margin:0;font-size:11px;color:#687780}
.kpi-drawer-open{overflow:hidden}.kpi-drawer-shell{position:fixed;z-index:10000;inset:0;display:flex;justify-content:flex-end}.kpi-drawer-scrim{position:absolute;inset:0;border:0;background:rgba(8,20,28,.54);cursor:default}.kpi-diagnosis-drawer{position:relative;width:min(720px,92vw);height:100%;background:var(--surface,#fff);box-shadow:-20px 0 60px rgba(0,0,0,.25);display:flex;flex-direction:column;outline:none;animation:kpiDrawerIn .18s ease-out}@keyframes kpiDrawerIn{from{transform:translateX(35px);opacity:.7}to{transform:none;opacity:1}}.kpi-diagnosis-drawer>header{display:flex;justify-content:space-between;gap:18px;padding:20px 24px;border-bottom:1px solid var(--border,#dde4e7)}.kpi-diagnosis-drawer header span{font-size:10px;font-weight:900;text-transform:uppercase;color:#0d7180}.kpi-diagnosis-drawer header h2{font-size:22px;margin:3px 0}.kpi-diagnosis-drawer header p{margin:0;font-size:12px;color:#63747d}.kpi-diagnosis-drawer header button{border:0;background:#eef3f4;border-radius:8px;height:36px;padding:0 13px;font-weight:800;cursor:pointer}.kpi-drawer-body{padding:18px 24px;overflow:auto}.kpi-drawer-score{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.kpi-drawer-score article{border:1px solid #dce4e7;border-radius:9px;padding:12px}.kpi-drawer-score span{font-size:10px;text-transform:uppercase;font-weight:800;color:#667780}.kpi-drawer-score strong{display:block;font-size:22px;margin:5px 0}.kpi-drawer-score strong small{font-size:10px}.kpi-drawer-score em{font-size:9px;font-style:normal;color:#687881}.kpi-drawer-score .risk{border-color:#e1b2a9;background:#fff7f5}.kpi-drawer-section{padding:18px 0;border-bottom:1px solid #e2e8ea}.kpi-drawer-section h3{font-size:13px;margin:0 0 10px}.kpi-drawer-section p,.kpi-drawer-section li,.kpi-drawer-section dd{font-size:11px;line-height:1.5}.kpi-drawer-section.diagnosis>strong{font-size:16px}.kpi-drawer-section .throughput-ranking{grid-template-columns:1fr}.kpi-exceptions{list-style:none;padding:0;margin:0}.kpi-exceptions li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid #edf1f2}.kpi-exceptions span{text-align:right;color:#60717a}.kpi-drawer-section dl{margin:0}.kpi-drawer-section dl div{display:grid;grid-template-columns:90px 1fr;gap:12px;padding:7px 0}.kpi-drawer-section dt{font-size:10px;font-weight:900;text-transform:uppercase;color:#62757e}.kpi-drawer-section dd{margin:0}.kpi-drawer-section details{margin-top:9px}.kpi-drawer-section summary{cursor:pointer;font-size:11px;font-weight:800}.kpi-diagnosis-drawer>footer{display:flex;gap:9px;padding:15px 24px;border-top:1px solid #dce4e7;background:#f8fafb}
.throughput-workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:15px;width:100%;max-width:100%;min-width:0;overflow:hidden}.throughput-workspace-hero{padding:22px;min-width:0}.throughput-workspace-hero>div{min-width:0}.throughput-workspace-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:22px}.throughput-workspace-hero small{font-size:10px;color:#687983;overflow-wrap:anywhere}.throughput-workspace-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0}.throughput-workspace-kpis article{border:1px solid #dce4e7;border-radius:10px;padding:11px;min-width:0}.throughput-workspace-kpis span{display:block;font-size:10px;font-weight:800;color:#60717b}.throughput-workspace-kpis strong{display:block;font-size:22px;margin:4px 0}.throughput-workspace-kpis em{font-size:9px;font-style:normal}.throughput-workspace-kpis .risk{background:#fff5f3;border-color:#e6b4aa}.throughput-workspace-kpis .good{background:#f1faf5;border-color:#a7d1bb}.throughput-workspace-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:15px;min-width:0}.throughput-workspace-panel{padding:18px;min-width:0;max-width:100%}.throughput-workspace-panel header h3{margin:3px 0;font-size:17px}.throughput-workspace-panel header>b{font-size:10px;padding:5px 8px;background:#edf3f4;border-radius:20px}.throughput-workspace-panel.constraint>p{font-size:13px;line-height:1.5}.throughput-workspace-panel.constraint>small{display:block;margin-top:13px;color:#6a7a83}.throughput-product-table-wrap,.throughput-proof-scroll{overflow:auto;max-width:100%;margin-top:12px;border:1px solid #dde5e8;border-radius:9px}.throughput-product-table,.throughput-proof-scroll table{border-collapse:separate;border-spacing:0;width:100%;min-width:1050px;font-size:11px}.throughput-product-table th,.throughput-product-table td,.throughput-proof-scroll th,.throughput-proof-scroll td{padding:9px 10px;border-bottom:1px solid #e4e9eb;text-align:right;white-space:nowrap}.throughput-product-table thead th,.throughput-proof-scroll thead th{position:sticky;top:0;background:#edf3f4;z-index:2;text-transform:uppercase;font-size:9px;color:#5d6f78}.throughput-product-table th:first-child,.throughput-product-table td:first-child{position:sticky;left:0;background:#fff;text-align:left;z-index:1}.throughput-product-table thead th:first-child{background:#edf3f4;z-index:3}.throughput-product-table tfoot th,.throughput-product-table tfoot td{position:sticky;bottom:0;background:#e8f1f2;font-weight:800}.throughput-product-table .table-link{border:0;background:none;color:#0b7480;text-decoration:underline;font-size:10px;cursor:pointer}.throughput-row-proof td{position:static!important;background:#f8fbfb!important;text-align:left!important;white-space:normal!important}.throughput-row-proof div{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:12px;align-items:center}.throughput-row-proof p{margin:0;font-size:10px;line-height:1.5}.throughput-action-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.throughput-workspace-panel.confidence ul{columns:2;margin-bottom:0}.throughput-workspace-panel.confidence li{font-size:11px;margin-bottom:6px}.throughput-proof-tabs{display:flex;gap:5px}.throughput-proof-tabs button{border:1px solid #ccd8dc;background:#fff;padding:7px 9px;border-radius:7px;font-size:10px;font-weight:800;cursor:pointer}.throughput-proof-tabs button[aria-selected=true]{background:#116f7b;color:#fff;border-color:#116f7b}.throughput-proof-meta,.throughput-proof-pages,.throughput-proof-filter{display:flex;gap:12px;justify-content:space-between;align-items:center;margin:12px 0 7px;font-size:10px;color:#64757e}.throughput-proof-filter{justify-content:flex-start;background:#e8f2f3;padding:7px 9px;border-radius:7px}.throughput-proof-filter button{border:0;background:none;color:#0b6f7b;text-decoration:underline;cursor:pointer}.throughput-proof-scroll table{text-align:left}.throughput-proof-scroll th,.throughput-proof-scroll td{text-align:left;max-width:240px;overflow:hidden;text-overflow:ellipsis}.throughput-proof-pages{justify-content:flex-end}.proof-error{color:#ad342d}
@media(max-width:1050px){.owner-throughput-grid{grid-template-columns:1fr 1fr}.throughput-ranking-card{grid-column:1/-1}.throughput-ranking{grid-template-columns:repeat(2,1fr)}.throughput-workspace-hero,.throughput-workspace-grid{grid-template-columns:minmax(0,1fr)}.throughput-row-proof div{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.owner-throughput-section{padding:14px}.owner-throughput-head,.owner-throughput-foot,.throughput-workspace-panel>header{align-items:stretch;flex-direction:column}.owner-throughput-grid{grid-template-columns:1fr}.throughput-ranking-card{grid-column:auto}.throughput-ranking{grid-template-columns:1fr}.throughput-recommendation>div{display:grid;grid-template-columns:1fr 1fr;gap:10px}.kpi-diagnosis-drawer{width:100vw}.kpi-diagnosis-drawer>header,.kpi-drawer-body,.kpi-diagnosis-drawer>footer{padding-left:14px;padding-right:14px}.kpi-drawer-score{grid-template-columns:1fr}.kpi-diagnosis-drawer>footer{display:grid}.throughput-workspace,.throughput-workspace-hero,.throughput-workspace-panel{width:calc(100vw - 24px)!important;max-width:calc(100vw - 24px)!important}.throughput-workspace-hero{padding:15px}.throughput-workspace-kpis{width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}.throughput-workspace-kpis span,.throughput-workspace-kpis em{overflow-wrap:anywhere}.throughput-workspace-panel{padding:14px}.throughput-workspace-panel.confidence ul{columns:1}.throughput-proof-tabs{overflow:auto}.throughput-row-proof div{grid-template-columns:1fr}.throughput-trend-col b{font-size:8px;transform:rotate(-90deg);padding:18px 0 0}.throughput-bullet p{display:grid;grid-template-columns:1fr 1fr}.owner-throughput-head h2,.throughput-workspace-hero h2{font-size:20px}}

/* ---------- Margin & Product Mix decision vertical slice ---------- */
.owner-margin-section,.margin-workspace-panel,.margin-workspace-hero{background:var(--surface,#fff);border:1px solid var(--border,#dce3e8);border-radius:14px;box-shadow:0 8px 24px rgba(20,35,50,.06)}
.owner-margin-section{padding:20px;margin:18px 0;overflow:hidden}.owner-margin-head,.margin-workspace-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.owner-margin-head span,.margin-workspace-panel header span,.margin-workspace-hero>div>span{font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:#657781}.owner-margin-head h2,.margin-workspace-hero h2{font-size:24px;margin:4px 0;color:var(--text,#172832)}.owner-margin-head p,.margin-workspace-hero p{margin:0;color:#62737c}.owner-margin-grid{display:grid;grid-template-columns:.85fr 1.15fr 1.1fr;gap:12px;margin-top:16px}.owner-margin-grid>article,.margin-hero-kpi{border:1px solid #dae3e7;border-radius:11px;background:#f7fafb;padding:15px;text-align:left;color:inherit}.margin-hero-kpi{cursor:pointer}.margin-hero-kpi:hover,.margin-hero-kpi:focus-visible{border-color:#7864b3;box-shadow:0 0 0 3px rgba(120,100,179,.12)}.margin-hero-kpi>span,.margin-diagnosis-card>span,.margin-trend-card>span{font-size:11px;font-weight:850;color:#576a74}.margin-hero-kpi>strong{display:block;font-size:36px;color:#594494;margin:8px 0}.margin-hero-kpi>em{font-size:10px;color:#6a7a83}.margin-hero-kpi>p{font-size:11px;line-height:1.45}.margin-diagnosis-card>strong{display:block;font-size:17px;margin:7px 0}.margin-diagnosis-card>p{font-size:11px;line-height:1.45}.margin-diagnosis-card>div{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.margin-diagnosis-card>div b{padding:7px;background:#fff;border:1px solid #e0e6e8;border-radius:7px;font-size:12px}.margin-diagnosis-card>div b.risk{color:#a5302d;background:#fff5f3}.margin-diagnosis-card>div em{display:block;font-size:8px;font-style:normal;text-transform:uppercase;color:#6c7b83}.owner-margin-foot{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:12px}.owner-margin-foot p{font-size:11px;margin:0;color:#687881}
.margin-trend{position:relative;margin-top:8px}.margin-trend svg{width:100%;height:190px;overflow:visible}.margin-trend.compact svg{height:125px}.margin-trend svg polyline{fill:none;vector-effect:non-scaling-stroke;stroke-width:2}.margin-trend svg .gross{stroke:#7057ae}.margin-trend svg .operating{stroke:#c34d45;stroke-dasharray:4 3}.margin-trend svg .zero{stroke:#aab7bd;stroke-width:.5;stroke-dasharray:2 2}.margin-trend svg .forecast-zone{fill:rgba(112,87,174,.06)}.margin-trend svg .gross-dot{fill:#7057ae}.margin-trend-labels{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:2px}.margin-trend-labels span{font-size:8px;text-align:center;color:#687881;overflow:hidden}.margin-trend-labels .forecast{color:#594494;font-weight:800}.margin-trend-legend{display:flex;gap:14px;margin-top:7px;font-size:9px}.margin-trend-legend span{display:flex;align-items:center;gap:4px}.margin-trend-legend i{width:14px;height:2px;background:#7057ae}.margin-trend-legend i.operating{background:#c34d45}.margin-trend-legend i.forecast{height:8px;background:rgba(112,87,174,.13)}
.margin-profit-bridge{display:flex;align-items:stretch;gap:6px;margin-top:13px;overflow:auto}.margin-profit-bridge article{min-width:135px;flex:1;border:1px solid #dbe4e7;border-radius:9px;padding:10px;background:#f8fafb}.margin-profit-bridge article.negative{background:#fff5f3;border-color:#e7b8b0}.margin-profit-bridge article.gross_profit{background:#f5f1ff;border-color:#cbbfe8}.margin-profit-bridge span{display:block;font-size:9px;font-weight:800}.margin-profit-bridge strong{display:block;font-size:16px;margin:4px 0}.margin-profit-bridge em{display:block;font-size:8px;font-style:normal;color:#6d7c84}.margin-profit-bridge>i{align-self:center;color:#8c9aa1}.margin-profit-bridge.compact article{min-width:115px;padding:8px}.margin-profit-bridge.compact strong{font-size:13px}
.margin-scenario-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:13px}.margin-scenario-grid>article{border:1px solid #d9e3e6;border-radius:10px;padding:12px;background:#f7fbfb}.margin-scenario-grid>article.blocked{background:#fff8eb;border-color:#ead09a}.margin-scenario-grid>article>span{font-size:9px;text-transform:uppercase;font-weight:850;color:#687982}.margin-scenario-grid>article>strong{display:block;font-size:13px;margin:4px 0 9px}.margin-scenario-grid>article>div{display:flex;gap:16px}.margin-scenario-grid b{font-size:14px}.margin-scenario-grid em{display:block;font-size:8px;text-transform:uppercase;font-style:normal;color:#6b7981}.margin-scenario-grid p,.margin-scenario-grid small{font-size:9px;line-height:1.4}.margin-scenario-grid.compact p{margin-bottom:0}
.margin-pvm-bridge{display:grid;grid-template-columns:repeat(9,minmax(90px,1fr));gap:7px;margin-top:12px;overflow:auto}.margin-pvm-bridge article{border:1px solid #dce4e7;border-radius:8px;padding:9px;background:#f8fafb;min-width:90px}.margin-pvm-bridge article.total{background:#f1edfb;border-color:#cbc0e6}.margin-pvm-bridge article.negative strong{color:#a83531}.margin-pvm-bridge article.positive:not(.total) strong{color:#14745c}.margin-pvm-bridge span{display:block;font-size:9px;font-weight:800;min-height:25px}.margin-pvm-bridge strong{font-size:14px}.margin-pvm-bridge i{display:block;height:4px;background:#e5eaec;margin-top:6px;border-radius:5px}.margin-pvm-bridge i u{display:block;height:100%;background:#7057ae}.margin-pvm-bridge article.negative i u{background:#c34d45}.margin-pvm-bridge.compact{grid-template-columns:repeat(9,minmax(75px,1fr))}
.margin-product-ranking{display:grid;gap:7px;margin-top:10px}.margin-product-ranking button{border:1px solid #dce4e7;background:#fff;border-radius:8px;padding:9px;text-align:left;color:inherit;cursor:pointer}.margin-product-ranking button:hover,.margin-product-ranking button:focus-visible{border-color:#7057ae}.margin-product-ranking button>span{display:grid;grid-template-columns:22px 1fr auto;gap:6px}.margin-product-ranking button>span>b{width:19px;height:19px;border-radius:50%;background:#eee9f8;text-align:center;padding-top:2px;color:#594494}.margin-product-ranking button strong,.margin-product-ranking button em{font-size:10px;font-style:normal}.margin-product-ranking button>i{display:block;height:4px;background:#edf1f2;border-radius:5px;margin:6px 0}.margin-product-ranking button>i u{display:block;height:100%;background:#7057ae}.margin-product-ranking button small{font-size:9px;color:#687881}
.margin-workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:15px;width:100%;max-width:100%;min-width:0;overflow:hidden}.margin-workspace-hero{padding:22px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:20px}.margin-workspace-hero>div{min-width:0}.margin-workspace-hero small{font-size:10px;color:#697983}.margin-workspace-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.margin-workspace-kpis article{border:1px solid #dce4e7;border-radius:9px;padding:11px;min-width:0}.margin-workspace-kpis span{display:block;font-size:9px;font-weight:850;color:#60717a}.margin-workspace-kpis strong{display:block;font-size:22px;margin:4px 0}.margin-workspace-kpis em{font-size:9px;font-style:normal}.margin-workspace-kpis article.risk{background:#fff5f3;border-color:#e4b3aa}.margin-workspace-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:15px;min-width:0}.margin-workspace-grid.portfolio{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.margin-workspace-grid.scenario{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}.margin-workspace-panel{padding:18px;min-width:0;max-width:100%}.margin-workspace-panel header h3{font-size:17px;margin:3px 0}.margin-workspace-panel header>b{font-size:9px;background:#f0f3f4;border-radius:20px;padding:6px 8px}.margin-workspace-panel.diagnosis>p{font-size:12px;line-height:1.55}.margin-method-note{font-size:10px;color:#687881}.margin-frontier svg{width:100%;height:360px;border:1px solid #e0e7e9;border-radius:8px;background:#fbfcfd}.margin-frontier svg line{stroke:#abb9bf;stroke-width:.4}.margin-frontier svg text{font-size:2.5px;fill:#5f7079}.margin-frontier svg circle{fill:#7057ae;stroke:#fff;stroke-width:.5}.margin-frontier svg g.risk circle{fill:#c3433e}.margin-frontier p{font-size:10px;color:#687881}.margin-table-wrap{max-width:100%;overflow:auto;margin-top:12px;border:1px solid #dce4e7;border-radius:9px}.margin-contribution-table{border-collapse:separate;border-spacing:0;width:100%;min-width:1320px;font-size:10px}.margin-contribution-table th,.margin-contribution-table td{padding:9px;border-bottom:1px solid #e3e9eb;text-align:right;white-space:nowrap}.margin-contribution-table thead th{position:sticky;top:0;background:#edf2f4;text-transform:uppercase;font-size:8px;z-index:2}.margin-contribution-table th:first-child,.margin-contribution-table td:first-child{position:sticky;left:0;background:#fff;text-align:left;z-index:1}.margin-contribution-table thead th:first-child{background:#edf2f4;z-index:3}.margin-contribution-table tr.risk th,.margin-contribution-table tr.risk td{color:#a42f2b}.margin-contribution-table tfoot th,.margin-contribution-table tfoot td{position:sticky;bottom:0;background:#eeeaf8;font-weight:850}.margin-contribution-table .table-link{border:0;background:none;color:#5e469c;text-decoration:underline;cursor:pointer;font-size:9px}.margin-row-proof td{position:static!important;background:#faf9fd!important;color:#172832!important;text-align:left!important;white-space:normal!important}.margin-row-proof div{display:grid;grid-template-columns:repeat(3,1fr) auto;gap:12px;align-items:center}.margin-row-proof p{font-size:10px;line-height:1.45;margin:0}.margin-action-links{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.margin-workspace-panel.break-even>div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.margin-workspace-panel.break-even>div article{border:1px solid #dfe6e8;border-radius:8px;padding:10px}.margin-workspace-panel.break-even span{display:block;font-size:9px}.margin-workspace-panel.break-even strong{font-size:18px}.margin-workspace-panel.break-even article.risk{background:#fff5f3}.margin-workspace-panel.break-even>p,.margin-workspace-panel.break-even aside{font-size:10px;line-height:1.5}.margin-workspace-panel.break-even aside{display:grid;gap:4px;padding:9px;background:#f2eff9;border-radius:8px}.margin-workspace-panel.confidence>div{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.margin-workspace-panel.confidence article{border-left:3px solid #7057ae;padding-left:12px}.margin-workspace-panel.confidence b{font-size:11px}.margin-workspace-panel.confidence li{font-size:10px;margin-bottom:5px}.margin-proof-tabs{display:flex;flex-wrap:wrap;gap:5px}.margin-proof-tabs button{border:1px solid #d0dade;background:#fff;padding:6px 8px;border-radius:7px;font-size:9px;font-weight:800;cursor:pointer}.margin-proof-tabs button[aria-selected=true]{background:#6750a4;color:#fff;border-color:#6750a4}.margin-diagnosis-drawer{width:min(780px,94vw)}.margin-diagnosis-drawer .margin-product-ranking{grid-template-columns:1fr}.margin-diagnosis-drawer .margin-profit-bridge{display:grid;grid-template-columns:1fr 1fr}.margin-diagnosis-drawer .margin-profit-bridge>i{display:none}
@media(max-width:1080px){.owner-margin-grid{grid-template-columns:1fr 1fr}.margin-trend-card{grid-column:1/-1}.margin-workspace-hero,.margin-workspace-grid,.margin-workspace-grid.portfolio,.margin-workspace-grid.scenario{grid-template-columns:minmax(0,1fr)}.margin-row-proof div{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.owner-margin-section{padding:14px}.owner-margin-head,.owner-margin-foot,.margin-workspace-panel>header{flex-direction:column;align-items:stretch}.owner-margin-grid{grid-template-columns:1fr}.margin-trend-card{grid-column:auto}.margin-diagnosis-card>div{grid-template-columns:1fr}.margin-profit-bridge{display:grid;grid-template-columns:1fr}.margin-profit-bridge>i{display:none}.margin-scenario-grid{grid-template-columns:1fr}.margin-workspace,.margin-workspace-hero,.margin-workspace-panel{width:calc(100vw - 24px)!important;max-width:calc(100vw - 24px)!important;min-width:0!important}.margin-workspace-hero{padding:15px;overflow:hidden}.margin-workspace-hero h2,.margin-workspace-hero p,.margin-workspace-hero small{max-width:100%;overflow-wrap:anywhere}.margin-workspace-kpis{grid-template-columns:minmax(0,1fr);width:100%;max-width:100%}.margin-workspace-kpis article{width:100%;max-width:100%}.margin-workspace-panel{padding:14px;overflow:hidden}.margin-trend-labels{min-width:520px}.margin-trend{overflow:auto}.margin-pvm-bridge{grid-template-columns:repeat(9,100px)}.margin-frontier svg{height:280px}.margin-row-proof div{grid-template-columns:1fr}.margin-workspace-panel.confidence>div{grid-template-columns:1fr}.margin-proof-tabs{overflow:auto;flex-wrap:nowrap}.margin-diagnosis-drawer{width:100vw}.margin-diagnosis-drawer .kpi-drawer-score{grid-template-columns:1fr}.page-actions{flex-wrap:wrap}.owner-margin-head h2,.margin-workspace-hero h2{font-size:20px}}

/* ---------- Cash Conversion decision vertical slice ---------- */
.owner-cash-conversion-section,.cash-conversion-panel,.cash-conversion-hero{background:var(--surface,#fff);border:1px solid var(--border,#dce3e8);border-radius:14px;box-shadow:0 8px 24px rgba(20,35,50,.06)}
.owner-cash-conversion-section{padding:20px;margin:18px 0;overflow:hidden}.owner-cash-conversion-section>header,.cash-conversion-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.owner-cash-conversion-section header span,.cash-conversion-panel header span,.cash-conversion-hero>div>span{font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:#627781}.owner-cash-conversion-section h2,.cash-conversion-hero h2{font-size:24px;margin:4px 0;color:var(--text,#172832)}.owner-cash-conversion-section header p,.cash-conversion-hero p{margin:0;color:#62737c}
.owner-cash-conversion-grid{display:grid;grid-template-columns:.82fr 1.2fr 1fr;gap:12px;margin-top:16px}.owner-cash-conversion-grid>article,.cash-conversion-kpi{border:1px solid #d8e3e4;border-radius:11px;background:#f6faf9;padding:15px;text-align:left;color:inherit;min-width:0}.cash-conversion-kpi{cursor:pointer}.cash-conversion-kpi:hover,.cash-conversion-kpi:focus-visible{border-color:#17806b;box-shadow:0 0 0 3px rgba(23,128,107,.12)}.cash-conversion-kpi>span,.cash-conversion-diagnosis>span,.owner-cash-conversion-grid>article>span{font-size:11px;font-weight:850;color:#566c73}.cash-conversion-kpi>strong{display:block;font-size:36px;color:#146d5c;margin:8px 0}.cash-conversion-kpi>strong small{font-size:12px}.cash-conversion-kpi>em{font-size:10px;color:#657982}.cash-conversion-kpi>p,.cash-conversion-diagnosis>p{font-size:11px;line-height:1.45}.cash-conversion-diagnosis>strong{display:block;font-size:17px;margin:7px 0}.cash-conversion-diagnosis>div{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.cash-conversion-diagnosis b{padding:7px;border:1px solid #dfe7e7;background:#fff;border-radius:7px;font-size:12px}.cash-conversion-diagnosis b.risk{background:#fff5f3;color:#a7332f}.cash-conversion-diagnosis em{display:block;font-size:8px;font-style:normal;text-transform:uppercase;color:#6a7b80}.owner-cash-conversion-foot{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:12px}.owner-cash-conversion-foot p{font-size:11px;margin:0;color:#65777d}
.cash-trajectory{margin-top:9px;min-width:0}.cash-trajectory svg{display:block;width:100%;height:230px;border:1px solid #dce5e5;border-radius:8px;background:#fbfdfc}.cash-trajectory.compact svg{height:125px}.cash-trajectory .reserve-risk{fill:rgba(190,61,53,.07)}.cash-trajectory .reserve-line{stroke:#be3d35;stroke-width:1;stroke-dasharray:4 3;vector-effect:non-scaling-stroke}.cash-trajectory .cash-line{fill:none;stroke:#16806b;stroke-width:2;vector-effect:non-scaling-stroke}.cash-trajectory circle{fill:#16806b;stroke:#fff;stroke-width:.4}.cash-trajectory>div{display:flex;gap:14px;margin-top:7px;font-size:9px}.cash-trajectory>div span{display:flex;align-items:center;gap:5px}.cash-trajectory>div i{width:15px;height:3px;background:#16806b}.cash-trajectory>div i.reserve{height:0;border-top:2px dashed #be3d35;background:none}
.cash-conversion-bridge{display:flex;gap:6px;align-items:stretch;margin-top:13px;overflow:auto}.cash-conversion-bridge article{flex:1;min-width:145px;border:1px solid #dce5e5;background:#f7faf9;border-radius:9px;padding:11px}.cash-conversion-bridge article.negative{background:#fff5f3;border-color:#e5b6ae}.cash-conversion-bridge span{display:block;font-size:9px;font-weight:850}.cash-conversion-bridge strong{display:block;font-size:17px;margin-top:5px}.cash-conversion-bridge>i{align-self:center;color:#85979c}.cash-conversion-bridge.compact article{min-width:120px;padding:8px}.cash-conversion-bridge.compact strong{font-size:13px}
.cash-conversion-workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:15px;min-width:0;max-width:100%;overflow:hidden}.cash-conversion-hero{padding:22px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:20px}.cash-conversion-hero small{font-size:10px;color:#697b80}.cash-conversion-hero-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.cash-conversion-hero-kpis article{border:1px solid #dbe5e5;border-radius:9px;padding:11px}.cash-conversion-hero-kpis span{display:block;font-size:9px;font-weight:850;color:#607378}.cash-conversion-hero-kpis strong{display:block;font-size:21px;margin:4px 0}.cash-conversion-hero-kpis em{font-size:9px;font-style:normal}.cash-conversion-hero-kpis .risk{background:#fff5f3;border-color:#e4b4ac}.cash-conversion-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:15px;min-width:0}.cash-conversion-grid.products{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.cash-conversion-grid.exceptions{grid-template-columns:1fr 1fr}.cash-conversion-panel{padding:18px;min-width:0;max-width:100%}.cash-conversion-panel header h3{font-size:17px;margin:3px 0}.cash-conversion-panel header>b{font-size:9px;padding:6px 8px;border-radius:20px;background:#edf4f2}.cash-conversion-panel header>a{font-size:10px;font-weight:800;color:#146d5c}.cash-conversion-panel>p{font-size:11px;line-height:1.5;color:#62747b}
.cash-stage-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}.cash-stage-flow article{display:flex;gap:9px;border:1px solid #dbe5e5;border-radius:9px;padding:10px;background:#f7faf9}.cash-stage-flow article>b{display:grid;place-items:center;flex:0 0 22px;width:22px;height:22px;border-radius:50%;background:#dceee9;color:#116b59;font-size:9px}.cash-stage-flow strong,.cash-stage-flow span,.cash-stage-flow small{display:block}.cash-stage-flow strong{font-size:10px}.cash-stage-flow span{font-size:9px;color:#126c5a;font-weight:800;margin:3px 0}.cash-stage-flow small{font-size:8px;color:#687a7f}.cash-stage-flow article.missing{background:#fff5f3;border-color:#e4b5ad}.cash-stage-flow article.missing>b{background:#f1d2cc;color:#9d332e}.cash-stage-flow article.missing span{color:#a03731}.cash-stage-flow article.aggregate-only{background:#fff9ec;border-color:#e6cf99}
.cash-product-ranking{display:grid;gap:7px;margin-top:10px}.cash-product-ranking button{border:1px solid #dbe5e5;background:#fff;border-radius:8px;padding:9px;text-align:left;color:inherit;cursor:pointer}.cash-product-ranking button:hover,.cash-product-ranking button:focus-visible{border-color:#16806b}.cash-product-ranking button>span{display:grid;grid-template-columns:22px 1fr auto;gap:6px}.cash-product-ranking button>span>b{display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:#e0efe9;color:#146d5c;font-size:9px}.cash-product-ranking strong,.cash-product-ranking em{font-size:10px;font-style:normal}.cash-product-ranking button>i{display:block;height:4px;background:#edf2f1;border-radius:5px;margin:6px 0}.cash-product-ranking button>i u{display:block;height:100%;background:#16806b;border-radius:5px}.cash-product-ranking small{font-size:9px;color:#687b80}
.cash-scenario-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:10px}.cash-scenario-grid article{border:1px solid #e3ce9d;background:#fff9eb;border-radius:10px;padding:12px}.cash-scenario-grid article.positive{border-color:#a9d0bd;background:#f2faf6}.cash-scenario-grid article>span{font-size:9px;text-transform:uppercase;font-weight:850;color:#817044}.cash-scenario-grid article>strong{display:block;font-size:13px;margin:4px 0 9px}.cash-scenario-grid article>div{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.cash-scenario-grid b{font-size:13px}.cash-scenario-grid em{display:block;font-size:8px;font-style:normal;text-transform:uppercase;color:#6d7b7f}.cash-scenario-grid p,.cash-scenario-grid small{font-size:9px;line-height:1.45}.cash-scenario-grid.compact{grid-template-columns:1fr}.cash-scenario-grid.compact article>div{grid-template-columns:1fr 1fr 1fr}
.cash-conversion-table-wrap{overflow:auto;max-width:100%;margin-top:12px;border:1px solid #dce5e5;border-radius:9px}.cash-conversion-table-wrap table{border-collapse:separate;border-spacing:0;width:100%;min-width:1450px;font-size:10px}.cash-conversion-table-wrap th,.cash-conversion-table-wrap td{padding:9px;border-bottom:1px solid #e3e9e9;text-align:right;white-space:nowrap}.cash-conversion-table-wrap thead th{position:sticky;top:0;background:#edf3f2;z-index:2;font-size:8px;text-transform:uppercase}.cash-conversion-table-wrap th:first-child,.cash-conversion-table-wrap td:first-child{position:sticky;left:0;background:#fff;text-align:left;z-index:1}.cash-conversion-table-wrap thead th:first-child{background:#edf3f2;z-index:3}.cash-conversion-table-wrap tfoot th,.cash-conversion-table-wrap tfoot td{position:sticky;bottom:0;background:#e8f2ef;font-weight:850}.cash-conversion-table-wrap .table-link{border:0;background:none;color:#146d5c;text-decoration:underline;cursor:pointer;font-size:9px}.cash-conversion-row-proof td{position:static!important;background:#f8fbfa!important;text-align:left!important;white-space:normal!important}.cash-conversion-row-proof div{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:center}.cash-conversion-row-proof p{font-size:10px;line-height:1.45;margin:0}
.cash-exception-list{display:grid;gap:6px;margin-top:10px}.cash-exception-list article{display:grid;grid-template-columns:1fr 1.2fr auto;gap:8px;border-bottom:1px solid #e5eaea;padding:7px 0;align-items:center}.cash-exception-list b,.cash-exception-list span,.cash-exception-list strong,.cash-exception-list em{font-size:9px}.cash-exception-list em{grid-column:2/4;font-style:normal;color:#687a7f}.cash-conversion-panel.confidence>div{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}.cash-conversion-panel.confidence article{border-left:3px solid #16806b;padding-left:12px}.cash-conversion-panel.confidence li,.cash-conversion-panel.confidence p{font-size:10px;line-height:1.5}.cash-conversion-proof-tabs{display:flex;flex-wrap:wrap;gap:5px}.cash-conversion-proof-tabs button{border:1px solid #cad9d5;background:#fff;border-radius:7px;padding:6px 8px;font-size:9px;font-weight:800;cursor:pointer}.cash-conversion-proof-tabs button[aria-selected=true]{background:#146d5c;color:#fff;border-color:#146d5c}.cash-conversion-drawer{width:min(800px,94vw)}
@media(max-width:1080px){.owner-cash-conversion-grid{grid-template-columns:1fr 1fr}.owner-cash-conversion-grid>article:last-child{grid-column:1/-1}.cash-conversion-hero,.cash-conversion-grid,.cash-conversion-grid.products,.cash-conversion-grid.exceptions{grid-template-columns:minmax(0,1fr)}.cash-stage-flow{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.owner-cash-conversion-section{padding:14px}.owner-cash-conversion-section>header,.owner-cash-conversion-foot,.cash-conversion-panel>header{flex-direction:column;align-items:stretch}.owner-cash-conversion-grid{grid-template-columns:1fr}.owner-cash-conversion-grid>article:last-child{grid-column:auto}.cash-conversion-diagnosis>div{grid-template-columns:1fr}.cash-conversion-bridge{display:grid;grid-template-columns:1fr}.cash-conversion-bridge>i{display:none}.cash-conversion-workspace,.cash-conversion-hero,.cash-conversion-panel{width:calc(100vw - 24px)!important;max-width:calc(100vw - 24px)!important;min-width:0!important}.cash-conversion-hero{padding:15px;overflow:hidden}.cash-conversion-hero-kpis{grid-template-columns:1fr}.cash-conversion-panel{padding:14px;overflow:hidden}.cash-stage-flow{grid-template-columns:1fr}.cash-scenario-grid{grid-template-columns:1fr}.cash-scenario-grid article>div,.cash-scenario-grid.compact article>div{grid-template-columns:1fr}.cash-conversion-row-proof div{grid-template-columns:1fr}.cash-conversion-panel.confidence>div{grid-template-columns:1fr}.cash-conversion-proof-tabs{overflow:auto;flex-wrap:nowrap}.cash-conversion-drawer{width:100vw}.owner-cash-conversion-section h2,.cash-conversion-hero h2{font-size:20px}}
.cash-conversion-drawer{box-sizing:border-box}
@media(max-width:640px){.cash-conversion-drawer{width:100vw;max-width:100vw}.cash-conversion-drawer>header{display:block;position:relative;padding-right:82px}.cash-conversion-drawer>header>div{min-width:0}.cash-conversion-drawer>header p{overflow-wrap:anywhere}.cash-conversion-drawer>header button{position:absolute;right:14px;top:14px}}

/* ---------- Production Execution vertical slice ---------- */
.owner-production-section,.production-panel,.production-hero{background:var(--surface,#fff);border:1px solid var(--border,#dce3e8);border-radius:14px;box-shadow:0 8px 24px rgba(20,35,50,.06)}.owner-production-section{padding:20px;margin:18px 0;overflow:hidden}.owner-production-section>header,.production-panel>header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.owner-production-section header span,.production-panel header span,.production-hero>div>span{font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:#65747e}.owner-production-section h2,.production-hero h2{font-size:24px;margin:4px 0;color:var(--text,#172832)}.owner-production-section header p,.production-hero p{margin:0;color:#62737c}
.owner-production-grid{display:grid;grid-template-columns:.8fr 1.2fr 1fr;gap:12px;margin-top:16px}.owner-production-grid>article,.production-kpi{border:1px solid #dce3e8;border-radius:11px;background:#f8fafb;padding:15px;text-align:left;color:inherit;min-width:0}.production-kpi{cursor:pointer}.production-kpi:hover,.production-kpi:focus-visible{border-color:#b66a18;box-shadow:0 0 0 3px rgba(182,106,24,.13)}.production-kpi>span,.production-diagnosis>span,.owner-production-grid>article>span{font-size:11px;font-weight:850;color:#5c6b74}.production-kpi>strong{display:block;font-size:36px;color:#a85c10;margin:8px 0}.production-kpi>em{font-size:10px;color:#6b7880}.production-kpi>p,.production-diagnosis>p{font-size:11px;line-height:1.45}.production-diagnosis>strong{display:block;font-size:17px;margin:7px 0}.production-diagnosis>div{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.production-diagnosis b{padding:7px;border:1px solid #e0e5e7;background:#fff;border-radius:7px;font-size:12px}.production-diagnosis b.risk{background:#fff5f3;color:#a8332e}.production-diagnosis em{display:block;font-size:8px;font-style:normal;text-transform:uppercase;color:#6c7980}.owner-production-foot{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:12px}.owner-production-foot p{font-size:11px;margin:0;color:#65747d}
.production-flow{display:flex;gap:6px;align-items:stretch;margin-top:12px;overflow:auto}.production-flow article{display:flex;gap:8px;min-width:145px;flex:1;border:1px solid #dde4e7;border-radius:9px;padding:10px;background:#f8fafb}.production-flow article>b{display:grid;place-items:center;width:22px;height:22px;flex:0 0 22px;border-radius:50%;background:#f3e3d1;color:#9b540d;font-size:9px}.production-flow strong,.production-flow span,.production-flow small{display:block}.production-flow strong{font-size:10px}.production-flow span{font-size:12px;font-weight:850;margin:3px 0}.production-flow small{font-size:8px;color:#697880}.production-flow>i{align-self:center;color:#8a969b}.production-flow.compact article{min-width:120px;padding:8px}.production-flow.compact strong{font-size:9px}
.production-trend{margin-top:10px}.production-trend>div{display:flex;gap:8px;height:185px;border-bottom:1px solid #cbd5d9;align-items:flex-end;padding:8px}.production-trend.compact>div{height:120px}.production-trend article{flex:1;display:grid;grid-template-rows:1fr auto auto;min-width:0;text-align:center;height:100%}.production-trend article>span{display:flex;align-items:flex-end;justify-content:center}.production-trend article>span i{display:block;width:65%;min-height:6px;background:#b66a18;border-radius:4px 4px 0 0}.production-trend article.planned>span i{background:#cbd4d8;background-image:repeating-linear-gradient(45deg,transparent,transparent 4px,rgba(255,255,255,.55) 4px,rgba(255,255,255,.55) 7px)}.production-trend b{font-size:9px;margin-top:4px}.production-trend small{font-size:8px;color:#697880;white-space:nowrap;overflow:hidden}.production-trend>p{display:flex;gap:14px;font-size:9px}.production-trend>p span{display:flex;align-items:center;gap:5px}.production-trend>p i{width:13px;height:6px;background:#b66a18}.production-trend>p i.planned{background:#cbd4d8}
.production-workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:15px;min-width:0;max-width:100%;overflow:hidden}.production-hero{padding:22px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:20px}.production-hero small{font-size:10px;color:#697983}.production-hero-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.production-hero-kpis article{border:1px solid #dce4e7;border-radius:9px;padding:11px}.production-hero-kpis span{display:block;font-size:9px;font-weight:850}.production-hero-kpis strong{display:block;font-size:21px;margin:4px 0}.production-hero-kpis em{font-size:9px;font-style:normal}.production-hero-kpis .risk{background:#fff5f3;border-color:#e4b5ad}.production-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:15px;min-width:0}.production-grid.exceptions{grid-template-columns:1fr 1fr}.production-panel{padding:18px;min-width:0;max-width:100%}.production-panel header h3{font-size:17px;margin:3px 0}.production-panel header>b{font-size:9px;background:#f4ece3;border-radius:20px;padding:6px 8px}.production-panel header>a{font-size:10px;font-weight:800;color:#9b540d}.production-panel>p{font-size:11px;line-height:1.5;color:#62737b}
.production-load-list{display:grid;gap:7px;margin-top:10px}.production-load-list article{border:1px solid #dce4e7;border-radius:8px;padding:8px}.production-load-list article>div{display:grid;grid-template-columns:1fr auto auto;gap:8px}.production-load-list strong,.production-load-list span,.production-load-list b{font-size:9px}.production-load-list article>i{display:block;height:5px;background:#edf1f3;border-radius:5px;margin:6px 0}.production-load-list article>i u{display:block;height:100%;background:#b66a18;border-radius:5px}.production-load-list article.watch>i u{background:#d6992f}.production-load-list article.constrained>i u{background:#bf4038}.production-load-list small{font-size:8px;color:#68777f}
.production-table-wrap{overflow:auto;max-width:100%;margin-top:12px;border:1px solid #dce4e7;border-radius:9px}.production-table-wrap table{border-collapse:separate;border-spacing:0;width:100%;min-width:1600px;font-size:10px}.production-table-wrap th,.production-table-wrap td{padding:9px;border-bottom:1px solid #e2e8ea;text-align:right;white-space:nowrap}.production-table-wrap thead th{position:sticky;top:0;background:#eef2f3;z-index:2;font-size:8px;text-transform:uppercase}.production-table-wrap th:first-child,.production-table-wrap td:first-child{position:sticky;left:0;background:#fff;text-align:left;z-index:1}.production-table-wrap thead th:first-child{background:#eef2f3;z-index:3}.production-table-wrap tr.risk th,.production-table-wrap tr.risk td{color:#a1322d}.production-table-wrap tfoot th,.production-table-wrap tfoot td{position:sticky;bottom:0;background:#f3e9dc;font-weight:850}.production-table-wrap .table-link{border:0;background:none;color:#97520e;text-decoration:underline;cursor:pointer;font-size:9px}.production-status{display:inline-block;padding:4px 7px;border-radius:20px;background:#edf2f3;color:#33464e}.production-row-proof td{position:static!important;background:#fbf9f6!important;color:#172832!important;text-align:left!important;white-space:normal!important}.production-row-proof div{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:12px;align-items:center}.production-row-proof p{font-size:10px;line-height:1.45;margin:0}
.production-exceptions{display:grid;gap:7px;margin-top:10px}.production-exceptions article{border:1px solid #dfe5e7;border-left:3px solid #b66a18;border-radius:7px;padding:9px}.production-exceptions article.risk{border-left-color:#bd3e37;background:#fff6f4}.production-exceptions b,.production-exceptions span{display:block;font-size:10px}.production-exceptions span{margin-top:4px;color:#67777f}.production-quality-cards{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.production-quality-cards article{border:1px solid #dfe5e7;border-radius:8px;padding:9px}.production-quality-cards span{font-size:9px}.production-quality-cards strong{display:block;font-size:18px;margin-top:4px}.production-quality-cards article.risk{background:#fff5f3}.production-lost-throughput{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:10px}.production-lost-throughput button{border:1px solid #e1b5ae;background:#fff6f4;border-radius:9px;padding:11px;text-align:left;color:inherit;cursor:pointer}.production-lost-throughput span,.production-lost-throughput strong,.production-lost-throughput em{display:block}.production-lost-throughput span{font-size:10px;font-weight:850}.production-lost-throughput strong{font-size:20px;margin:5px 0;color:#a6322d}.production-lost-throughput em{font-size:9px;font-style:normal}
.production-scenario-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:10px}.production-scenario-grid article{border:1px solid #e2ca9b;background:#fff9ec;border-radius:10px;padding:12px}.production-scenario-grid article>span{font-size:9px;text-transform:uppercase;font-weight:850;color:#80683a}.production-scenario-grid article>strong{display:block;font-size:13px;margin:4px 0 9px}.production-scenario-grid article>div{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.production-scenario-grid b{font-size:13px}.production-scenario-grid b em{display:block;font-size:8px;text-transform:uppercase;font-style:normal;color:#6c7980}.production-scenario-grid p,.production-scenario-grid small,.production-scenario-grid article>em{font-size:9px;line-height:1.45}.production-scenario-grid article>em{display:block;margin-top:7px;font-style:normal;font-weight:850;color:#9d332e}.production-scenario-grid.compact{grid-template-columns:1fr}.production-scenario-grid.compact article>div{grid-template-columns:1fr 1fr}.production-panel.confidence>div{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.production-panel.confidence article{border-left:3px solid #b66a18;padding-left:12px}.production-panel.confidence li,.production-panel.confidence p{font-size:10px;line-height:1.5}.production-proof-tabs{display:flex;flex-wrap:wrap;gap:5px}.production-proof-tabs button{border:1px solid #d7c7b4;background:#fff;border-radius:7px;padding:6px 8px;font-size:9px;font-weight:800;cursor:pointer}.production-proof-tabs button[aria-selected=true]{background:#9e5912;color:#fff;border-color:#9e5912}.production-drawer{width:min(820px,94vw);box-sizing:border-box}.production-drawer .production-load-list{grid-template-columns:1fr}.production-drawer .production-flow{display:grid;grid-template-columns:1fr 1fr}.production-drawer .production-flow>i{display:none}
@media(max-width:1080px){.owner-production-grid{grid-template-columns:1fr 1fr}.owner-production-grid>article:last-child{grid-column:1/-1}.production-hero,.production-grid,.production-grid.exceptions{grid-template-columns:minmax(0,1fr)}.production-row-proof div{grid-template-columns:1fr 1fr}.production-flow{display:grid;grid-template-columns:repeat(3,1fr)}.production-flow>i{display:none}}
@media(max-width:640px){.owner-production-section{padding:14px}.owner-production-section>header,.owner-production-foot,.production-panel>header{flex-direction:column;align-items:stretch}.owner-production-grid{grid-template-columns:1fr}.owner-production-grid>article:last-child{grid-column:auto}.production-diagnosis>div{grid-template-columns:1fr}.production-workspace,.production-hero,.production-panel{width:calc(100vw - 24px)!important;max-width:calc(100vw - 24px)!important;min-width:0!important}.production-hero{padding:15px;overflow:hidden}.production-hero-kpis{grid-template-columns:1fr}.production-panel{padding:14px;overflow:hidden}.production-flow,.production-drawer .production-flow{grid-template-columns:1fr}.production-scenario-grid{grid-template-columns:1fr}.production-scenario-grid article>div{grid-template-columns:1fr 1fr}.production-row-proof div{grid-template-columns:1fr}.production-panel.confidence>div{grid-template-columns:1fr}.production-lost-throughput{grid-template-columns:1fr}.production-proof-tabs{overflow:auto;flex-wrap:nowrap}.production-drawer{width:100vw;max-width:100vw}.production-drawer>header{display:block;position:relative;padding-right:82px}.production-drawer>header p{overflow-wrap:anywhere}.production-drawer>header button{display:block!important;position:absolute;right:14px;top:14px;z-index:3}.owner-production-section h2,.production-hero h2{font-size:20px}}

/* ---------- Demand & Capacity Planning vertical slice ---------- */
.owner-demand-section,.demand-panel,.demand-hero{background:var(--surface,#fff);border:1px solid var(--border,#dce3e8);border-radius:14px;box-shadow:0 8px 24px rgba(20,35,50,.06)}.owner-demand-section{padding:20px;margin:18px 0;overflow:hidden}.owner-demand-section>header,.demand-panel>header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.owner-demand-section header span,.demand-panel header span,.demand-hero>div>span{font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:#63747e}.owner-demand-section h2,.demand-hero h2{font-size:24px;margin:4px 0;color:var(--text,#172832)}.owner-demand-section header p,.demand-hero p{margin:0;color:#62737c}
.owner-demand-grid{display:grid;grid-template-columns:.78fr 1.22fr 1fr;gap:12px;margin-top:16px}.owner-demand-grid>article,.demand-kpi{border:1px solid #dce4e7;border-radius:11px;background:#f7fafb;padding:15px;text-align:left;color:inherit;min-width:0}.demand-kpi{cursor:pointer}.demand-kpi:hover,.demand-kpi:focus-visible{border-color:#3c6ea8;box-shadow:0 0 0 3px rgba(60,110,168,.13)}.demand-kpi>span,.demand-diagnosis>span,.owner-demand-grid>article>span{font-size:11px;font-weight:850;color:#586a74}.demand-kpi>strong{display:block;font-size:36px;color:#315f96;margin:8px 0}.demand-kpi>em{font-size:10px;color:#697981}.demand-kpi>p,.demand-diagnosis>p{font-size:11px;line-height:1.45}.demand-diagnosis>strong{display:block;font-size:17px;margin:7px 0}.demand-diagnosis>div{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.demand-diagnosis b{padding:7px;border:1px solid #e0e6e8;background:#fff;border-radius:7px;font-size:12px}.demand-diagnosis b.risk{background:#fff5f3;color:#a7332e}.demand-diagnosis em{display:block;font-size:8px;font-style:normal;text-transform:uppercase;color:#6b7980}.owner-demand-foot{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:12px}.owner-demand-foot p{font-size:11px;margin:0;color:#65777e}
.demand-funnel{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:7px;margin-top:12px;overflow:auto}.demand-funnel article{display:flex;gap:8px;border:1px solid #dce4e7;border-radius:9px;padding:10px;background:#f8fafb;min-width:120px}.demand-funnel article>b{display:grid;place-items:center;width:21px;height:21px;flex:0 0 21px;border-radius:50%;font-size:9px;background:#e1e9f3;color:#315f96}.demand-funnel strong,.demand-funnel span,.demand-funnel small{display:block}.demand-funnel strong{font-size:9px;min-height:32px}.demand-funnel span{font-size:13px;font-weight:850;margin:3px 0}.demand-funnel small{font-size:8px;color:#6a7980}.demand-funnel article.actual{border-color:#9fc8b8;background:#f2faf6}.demand-funnel article.actual>b{background:#d6eee4;color:#17644e}.demand-funnel article.excluded{border-color:#e5ca95;background:#fff9ed}.demand-funnel article.excluded>b{background:#f4e4bf;color:#8b6419}.demand-funnel.compact article{padding:8px}.demand-funnel.compact strong{min-height:28px}
.demand-monthly{margin-top:10px}.demand-monthly>article{display:inline-grid;grid-template-columns:62px 44px minmax(120px,1fr);gap:8px;align-items:center;width:calc(16.66% - 6px);min-width:135px;vertical-align:bottom}.demand-monthly article>div{height:155px;display:flex;gap:3px;align-items:flex-end;border-bottom:1px solid #cbd5d9}.demand-monthly article>div i{width:45%;display:block;min-height:4px}.demand-monthly i.supported{background:#3c6ea8}.demand-monthly i.constrained{background:#6ca58d}.demand-monthly article>b,.demand-monthly article>span,.demand-monthly article>small{font-size:8px}.demand-monthly article>b{font-size:10px}.demand-monthly article>small{grid-column:2/4;color:#687880}.demand-monthly>p{display:flex;gap:14px;font-size:9px}.demand-monthly>p span{display:flex;gap:5px;align-items:center}.demand-monthly>p i{width:14px;height:6px;background:#3c6ea8}.demand-monthly>p i.constrained{background:#6ca58d}.demand-monthly.compact article>div{height:90px}.demand-monthly.compact>article{grid-template-columns:38px 35px minmax(75px,1fr)}
.demand-workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:15px;min-width:0;max-width:100%;overflow:hidden}.demand-hero{padding:22px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:20px}.demand-hero small{font-size:10px;color:#697983}.demand-hero-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.demand-hero-kpis article{border:1px solid #dce4e7;border-radius:9px;padding:11px}.demand-hero-kpis span{display:block;font-size:9px;font-weight:850}.demand-hero-kpis strong{display:block;font-size:21px;margin:4px 0}.demand-hero-kpis em{font-size:9px;font-style:normal}.demand-hero-kpis .risk{background:#fff5f3;border-color:#e4b5ad}.demand-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:15px;min-width:0}.demand-grid.customers{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}.demand-panel{padding:18px;min-width:0;max-width:100%}.demand-panel header h3{font-size:17px;margin:3px 0}.demand-panel header>b{font-size:9px;background:#eaf0f7;border-radius:20px;padding:6px 8px}.demand-panel header>a{font-size:10px;font-weight:800;color:#315f96}.demand-panel>p{font-size:11px;line-height:1.5;color:#62737b}
.demand-risk-ranking{display:grid;gap:7px;margin-top:10px}.demand-risk-ranking button{border:1px solid #dce4e7;background:#fff;border-radius:8px;padding:9px;text-align:left;color:inherit;cursor:pointer}.demand-risk-ranking button:hover,.demand-risk-ranking button:focus-visible{border-color:#3c6ea8}.demand-risk-ranking button>span{display:grid;grid-template-columns:22px 1fr auto;gap:6px}.demand-risk-ranking button>span>b{display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:#e1e9f3;color:#315f96;font-size:9px}.demand-risk-ranking strong,.demand-risk-ranking em{font-size:10px;font-style:normal}.demand-risk-ranking button>i{display:block;height:4px;background:#edf1f3;border-radius:5px;margin:6px 0}.demand-risk-ranking button>i u{display:block;height:100%;background:#3c6ea8;border-radius:5px}.demand-risk-ranking small{font-size:9px;color:#687980}
.demand-table-wrap{overflow:auto;max-width:100%;margin-top:12px;border:1px solid #dce4e7;border-radius:9px}.demand-table-wrap table{border-collapse:separate;border-spacing:0;width:100%;min-width:2050px;font-size:10px}.demand-table-wrap th,.demand-table-wrap td{padding:9px;border-bottom:1px solid #e2e8ea;text-align:right;white-space:nowrap}.demand-table-wrap thead th{position:sticky;top:0;background:#eef2f5;z-index:2;font-size:8px;text-transform:uppercase}.demand-table-wrap th:first-child,.demand-table-wrap td:first-child{position:sticky;left:0;background:#fff;text-align:left;z-index:1}.demand-table-wrap th:nth-child(2),.demand-table-wrap td:nth-child(2){position:sticky;left:72px;background:#fff;text-align:left;z-index:1}.demand-table-wrap thead th:first-child,.demand-table-wrap thead th:nth-child(2){background:#eef2f5;z-index:3}.demand-table-wrap tr.risk th,.demand-table-wrap tr.risk td{color:#9f342f}.demand-table-wrap tfoot th,.demand-table-wrap tfoot td{position:sticky;bottom:0;background:#e7eef7;font-weight:850}.demand-table-wrap .table-link{border:0;background:none;color:#315f96;text-decoration:underline;cursor:pointer;font-size:9px}.demand-row-proof td{position:static!important;background:#f8fafc!important;color:#172832!important;text-align:left!important;white-space:normal!important}.demand-row-proof div{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:12px;align-items:center}.demand-row-proof p{font-size:10px;line-height:1.45;margin:0}
.demand-customer-list{display:grid;gap:6px;margin-top:10px}.demand-customer-list article{display:grid;grid-template-columns:1fr auto auto;gap:8px;padding:8px;border-bottom:1px solid #e3e8ea}.demand-customer-list strong,.demand-customer-list span,.demand-customer-list b{font-size:10px}.demand-opportunity-list{display:grid;gap:7px;margin-top:10px}.demand-opportunity-list article{display:grid;grid-template-columns:1fr auto;gap:8px;border:1px solid #e4ce9e;background:#fff9ed;border-radius:8px;padding:9px}.demand-opportunity-list article.risk{border-color:#e3b6ae;background:#fff5f3}.demand-opportunity-list strong,.demand-opportunity-list span,.demand-opportunity-list b,.demand-opportunity-list small{display:block;font-size:9px}.demand-opportunity-list b{font-size:13px}.demand-opportunity-list b em{display:block;font-size:8px;font-style:normal;text-transform:uppercase}.demand-opportunity-list small{grid-column:1/-1;color:#6a777d}
.demand-scenario-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:10px}.demand-scenario-grid article{border:1px solid #e2ca9b;background:#fff9ed;border-radius:10px;padding:12px}.demand-scenario-grid article>span{font-size:9px;text-transform:uppercase;font-weight:850;color:#80683a}.demand-scenario-grid article>strong{display:block;font-size:13px;margin:4px 0 9px}.demand-scenario-grid article>div{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.demand-scenario-grid b{font-size:13px}.demand-scenario-grid b em{display:block;font-size:8px;text-transform:uppercase;font-style:normal;color:#6d7980}.demand-scenario-grid p,.demand-scenario-grid small,.demand-scenario-grid article>em{font-size:9px;line-height:1.45}.demand-scenario-grid article>em{display:block;margin-top:7px;font-style:normal;font-weight:850;color:#9d342e}.demand-scenario-grid.compact{grid-template-columns:1fr}.demand-scenario-grid.compact article>div{grid-template-columns:1fr 1fr}.demand-panel.confidence>div{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.demand-panel.confidence article{border-left:3px solid #3c6ea8;padding-left:12px}.demand-panel.confidence li,.demand-panel.confidence p{font-size:10px;line-height:1.5}.demand-proof-tabs{display:flex;flex-wrap:wrap;gap:5px}.demand-proof-tabs button{border:1px solid #c9d6e4;background:#fff;border-radius:7px;padding:6px 8px;font-size:9px;font-weight:800;cursor:pointer}.demand-proof-tabs button[aria-selected=true]{background:#315f96;color:#fff;border-color:#315f96}.demand-drawer{width:min(820px,94vw);box-sizing:border-box}.demand-drawer .demand-funnel{grid-template-columns:1fr}.demand-drawer .demand-monthly>article{width:calc(33.33% - 6px)}
@media(max-width:1080px){.owner-demand-grid{grid-template-columns:1fr 1fr}.owner-demand-grid>article:last-child{grid-column:1/-1}.demand-hero,.demand-grid,.demand-grid.customers{grid-template-columns:minmax(0,1fr)}.demand-row-proof div{grid-template-columns:1fr 1fr}.demand-funnel{grid-template-columns:repeat(4,minmax(120px,1fr))}}
@media(max-width:640px){.owner-demand-section{padding:14px}.owner-demand-section>header,.owner-demand-foot,.demand-panel>header{flex-direction:column;align-items:stretch}.owner-demand-grid{grid-template-columns:1fr}.owner-demand-grid>article:last-child{grid-column:auto}.demand-diagnosis>div{grid-template-columns:1fr}.demand-workspace,.demand-hero,.demand-panel{width:calc(100vw - 24px)!important;max-width:calc(100vw - 24px)!important;min-width:0!important}.demand-hero{padding:15px;overflow:hidden}.demand-hero-kpis{grid-template-columns:1fr}.demand-panel{padding:14px;overflow:hidden}.demand-funnel{grid-template-columns:1fr}.demand-monthly{overflow:auto;white-space:nowrap}.demand-monthly>article,.demand-drawer .demand-monthly>article{width:150px}.demand-scenario-grid{grid-template-columns:1fr}.demand-scenario-grid article>div{grid-template-columns:1fr 1fr}.demand-row-proof div{grid-template-columns:1fr}.demand-panel.confidence>div{grid-template-columns:1fr}.demand-proof-tabs{overflow:auto;flex-wrap:nowrap}.demand-drawer{width:100vw;max-width:100vw}.demand-drawer>header{display:block;position:relative;padding-right:82px}.demand-drawer>header p{overflow-wrap:anywhere}.demand-drawer>header button{display:block!important;position:absolute;right:14px;top:14px;z-index:3}.owner-demand-section h2,.demand-hero h2{font-size:20px}}

/* Demand feasibility chart: one legible, comparable pair of bars per month. */
.demand-monthly{display:grid;grid-template-columns:repeat(6,minmax(96px,1fr));gap:10px;align-items:end;overflow-x:auto;padding:4px 0 2px}
.demand-monthly>article{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:118px auto auto;gap:4px 6px;width:auto;min-width:96px;align-items:end}
.demand-monthly article>div{grid-column:1/3;display:flex;align-items:flex-end;justify-content:center;gap:5px;height:118px;border-bottom:1px solid #cbd5d9}
.demand-monthly article>div i{display:block;width:28px;max-width:42%;min-height:4px;border-radius:3px 3px 0 0}
.demand-monthly article>b,.demand-monthly article>span{font-size:10px;line-height:1.2;white-space:normal}
.demand-monthly article>span{text-align:right;color:#53636d}
.demand-monthly article>small{grid-column:1/3;font-size:8px;line-height:1.35;color:#687880;white-space:normal}
.demand-monthly>p{grid-column:1/-1;margin:5px 0 0}
.demand-monthly.compact{grid-template-columns:repeat(6,minmax(80px,1fr));gap:7px}
.demand-monthly.compact>article{grid-template-rows:72px auto auto;min-width:80px}
.demand-monthly.compact article>div{height:72px}
.demand-drawer .demand-monthly{grid-template-columns:repeat(3,minmax(120px,1fr))}
.demand-drawer>header{position:relative;padding-right:92px}.demand-drawer>header>div{min-width:0}.demand-drawer>header p{max-width:100%;overflow-wrap:anywhere}.demand-drawer>header button{display:block!important;position:absolute!important;right:16px!important;top:16px!important;z-index:5}
body .kpi-diagnosis-drawer button[aria-label="Close demand diagnosis drawer"]{display:block!important;visibility:visible!important;opacity:1!important;position:absolute!important;right:14px!important;top:14px!important;z-index:20!important;background:#eef3f4!important;color:#17232b!important}

/* Governed Growth Modeling */
.owner-growth-section,.growth-hero,.growth-panel{border:1px solid #d9e1e6;border-radius:13px;background:#fff}.owner-growth-section{margin-top:18px;padding:20px;border-top:4px solid #8a5b20}.owner-growth-section>header,.growth-panel>header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.owner-growth-section header span,.growth-hero>div>span,.growth-panel header span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:#80551e}.owner-growth-section h2,.growth-hero h2{font-size:23px;margin:5px 0}.owner-growth-section header p,.growth-hero p{margin:0;color:#61717b;font-size:12px}.owner-growth-grid{display:grid;grid-template-columns:1.05fr repeat(3,1fr);gap:9px;margin:15px 0}.owner-growth-grid>article,.owner-growth-status{border:1px solid #dce4e8;border-radius:10px;padding:12px;text-align:left;background:#fff;color:inherit}.owner-growth-grid span{display:block;font-size:9px;text-transform:uppercase;font-weight:850;color:#687781}.owner-growth-grid strong{display:block;font-size:20px;margin:5px 0}.owner-growth-grid em{font-style:normal;font-size:9px;color:#687781}.owner-growth-status{background:#fff4ef;border-color:#e3a69a;cursor:pointer}.owner-growth-status strong{color:#a13b31}.owner-growth-action{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:13px;padding-top:12px;border-top:1px solid #e5eaec}.owner-growth-action p{margin:0;display:grid;gap:4px;font-size:10px}.owner-growth-action p span{color:#667780}
.growth-workspace{display:grid;gap:15px;width:100%;min-width:0}.growth-hero{padding:22px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:20px}.growth-hero small{font-size:9px;color:#687983}.growth-hero-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.growth-hero-kpis article{border:1px solid #dce4e7;border-radius:9px;padding:11px}.growth-hero-kpis span{font-size:9px;font-weight:850;color:#667780}.growth-hero-kpis strong{display:block;font-size:21px;margin:4px 0}.growth-hero-kpis em{font-size:9px;font-style:normal}.growth-hero-kpis .risk{background:#fff5f2;border-color:#e1aea3}.growth-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.growth-panel{padding:18px;min-width:0}.growth-panel header h3{font-size:17px;margin:3px 0}.growth-panel header>b{font-size:9px;padding:6px 9px;border-radius:20px;background:#f3ede4}.growth-panel.diagnosis p{font-size:12px;line-height:1.55}.growth-gates{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:11px}.growth-gates article{display:grid;grid-template-columns:24px 1fr;align-items:center;border:1px solid #dce4e7;border-radius:8px;padding:8px;min-width:0}.growth-gates i{grid-row:1/3;width:20px;height:20px;border-radius:50%;text-align:center;padding-top:2px;font-style:normal;font-weight:900}.growth-gates span{text-transform:capitalize;font-size:9px;font-weight:800;overflow-wrap:anywhere}.growth-gates b{font-size:9px}.growth-gates .pass{background:#f2faf6;border-color:#a8d1bd}.growth-gates .pass i{background:#caead9;color:#226848}.growth-gates .fail{background:#fff5f2;border-color:#e3b0a6}.growth-gates .fail i{background:#f3d0c8;color:#9e392f}.growth-gates.compact{grid-template-columns:repeat(7,minmax(0,1fr))}.growth-gates.compact article{grid-template-columns:18px 1fr;padding:6px}.growth-gates.compact i{width:16px;height:16px;padding:0}.growth-panel.bridge>div{display:grid;grid-template-columns:repeat(6,minmax(110px,1fr) 20px);align-items:center;overflow:auto;margin-top:13px}.growth-panel.bridge article{border:1px solid #dce4e7;border-radius:9px;padding:12px;min-width:110px}.growth-panel.bridge article span{display:block;font-size:9px}.growth-panel.bridge article strong{font-size:17px}.growth-panel.bridge article.risk{background:#fff5f2;border-color:#e2aea3}.growth-panel.bridge i{text-align:center;font-style:normal;font-weight:900;color:#76858c}.growth-scenarios{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.growth-scenarios>article{border:1px solid #e0e6e8;border-radius:10px;padding:13px;min-width:0}.growth-scenarios>article.economic-pass{border-top:4px solid #4d8d6f}.growth-scenarios>article.blocked{border-top:4px solid #b65b4e}.growth-scenarios header{display:flex;justify-content:space-between;gap:10px}.growth-scenarios header span{font-size:8px;text-transform:uppercase;font-weight:850}.growth-scenarios h4{margin:3px 0;font-size:14px}.growth-scenarios header>b{font-size:9px;color:#a23c31}.growth-impact-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:10px 0}.growth-impact-grid b{font-size:14px}.growth-impact-grid em{display:block;font-size:7px;text-transform:uppercase;font-style:normal;color:#687780}.growth-scenarios p,.growth-scenarios li{font-size:9px;line-height:1.45}.growth-scenarios.compact{grid-template-columns:1fr}.growth-scenarios.compact article{padding:10px}.growth-scenario-proof{margin-top:9px;padding:10px;background:#f8fafb;border-radius:8px}.growth-sensitivity{display:grid;gap:7px;margin-top:10px}.growth-sensitivity article{display:grid;grid-template-columns:1fr auto 80px;align-items:center;gap:9px;border-left:3px solid #4e8a6e;padding:8px;background:#f7faf8}.growth-sensitivity article.timing{border-color:#7c6aa8;background:#f8f6fc}.growth-sensitivity strong,.growth-sensitivity span,.growth-sensitivity small{display:block;font-size:9px}.growth-sensitivity b{font-size:14px}.growth-sensitivity em{display:block;font-size:7px;font-style:normal}.growth-roadmap{list-style:none;padding:0;margin:10px 0 0;display:grid;gap:7px}.growth-roadmap li{display:grid;grid-template-columns:24px 1fr auto;gap:8px;align-items:center;border-bottom:1px solid #e4e9eb;padding:8px 0}.growth-roadmap li>b{width:22px;height:22px;border-radius:50%;background:#f0e6d8;text-align:center;padding-top:3px}.growth-roadmap strong,.growth-roadmap span{display:block;font-size:9px}.growth-roadmap em{font-size:8px;color:#9c382f;font-style:normal;font-weight:850}.growth-panel.confidence>div{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.growth-panel.confidence article{border-left:3px solid #8a5b20;padding-left:11px}.growth-panel.confidence li,.growth-panel.confidence p{font-size:10px;line-height:1.5}.growth-proof-tabs{display:flex;flex-wrap:wrap;gap:5px}.growth-proof-tabs button{border:1px solid #d1dadd;background:#fff;border-radius:7px;padding:6px 8px;font-size:8px;font-weight:850}.growth-proof-tabs button[aria-selected=true]{background:#79501d;border-color:#79501d;color:#fff}.growth-drawer{width:min(820px,94vw);box-sizing:border-box}.growth-drawer>header{position:relative;padding-right:92px}.growth-drawer>header button{position:absolute!important;right:15px;top:15px;z-index:5}.growth-drawer .growth-gates{grid-template-columns:repeat(2,1fr)}
@media(max-width:900px){.owner-growth-grid{grid-template-columns:1fr 1fr}.growth-grid,.growth-hero{grid-template-columns:1fr}.growth-gates,.growth-gates.compact{grid-template-columns:repeat(2,1fr)}.growth-scenarios{grid-template-columns:1fr}}
@media(max-width:640px){.owner-growth-section{padding:14px}.owner-growth-section>header,.owner-growth-action,.growth-panel>header{flex-direction:column;align-items:stretch}.owner-growth-grid{grid-template-columns:1fr}.growth-workspace,.growth-hero,.growth-panel{width:calc(100vw - 24px)!important;max-width:calc(100vw - 24px)!important;min-width:0!important}.growth-hero,.growth-panel{padding:14px;overflow:hidden}.growth-hero-kpis,.growth-gates,.growth-gates.compact,.growth-impact-grid,.growth-panel.confidence>div{grid-template-columns:1fr}.growth-panel.bridge>div{grid-template-columns:repeat(11,120px)}.growth-proof-tabs{flex-wrap:nowrap;overflow:auto}.growth-drawer{width:100vw;max-width:100vw}.growth-drawer>header{min-height:120px}.growth-drawer>header button{position:fixed!important;right:12px!important;top:12px!important;background:#fff!important;border:1px solid #8898a5!important}.growth-sensitivity article{grid-template-columns:1fr auto}.growth-sensitivity small{grid-column:1/3}}

/* Sales & Customer Execution */
.owner-commercial-section,.commercial-hero,.commercial-panel{background:#fff;border:1px solid #d9e2e7;border-radius:13px}.owner-commercial-section{margin-top:18px;padding:20px;border-top:4px solid #356f91}.owner-commercial-section>header,.commercial-panel>header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.owner-commercial-section header span,.commercial-hero>div>span,.commercial-panel header span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:#316b8c}.owner-commercial-section h2,.commercial-hero h2{font-size:23px;margin:5px 0}.owner-commercial-section header p,.commercial-hero p{font-size:12px;color:#61727c;margin:0}.owner-commercial-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:15px 0}.owner-commercial-kpis article,.owner-commercial-kpis button{border:1px solid #dbe4e8;border-radius:9px;padding:11px;background:#fff;text-align:left;color:inherit}.owner-commercial-kpis button{cursor:pointer;background:#f0f7fb;border-color:#a8c9dc}.owner-commercial-kpis .risk{background:#fff5f2;border-color:#e3afa5}.owner-commercial-kpis span{display:block;font-size:9px;text-transform:uppercase;font-weight:850}.owner-commercial-kpis strong{display:block;font-size:20px;margin:4px 0}.owner-commercial-kpis em{font-size:9px;font-style:normal;color:#687983}.owner-commercial-section>footer{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:13px;padding-top:12px;border-top:1px solid #e4eaed}.owner-commercial-section footer p{display:grid;gap:3px;margin:0;font-size:10px}.owner-commercial-section footer span{color:#677881}
.commercial-workspace{display:grid;gap:15px;width:100%;min-width:0}.commercial-hero{padding:22px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:20px}.commercial-hero small{font-size:9px;color:#687984}.commercial-hero-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.commercial-hero-kpis article{border:1px solid #dbe4e8;border-radius:9px;padding:11px}.commercial-hero-kpis .risk{background:#fff5f2;border-color:#e3afa5}.commercial-hero-kpis span{font-size:9px;font-weight:850}.commercial-hero-kpis strong{display:block;font-size:21px;margin:4px 0}.commercial-hero-kpis em{font-size:9px;font-style:normal}.commercial-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:15px}.commercial-panel{padding:18px;min-width:0}.commercial-panel header h3{font-size:17px;margin:3px 0}.commercial-panel header>b{font-size:9px;background:#eaf3f8;border-radius:20px;padding:6px 9px}.commercial-panel.diagnosis p,.commercial-panel.diagnosis>b{font-size:11px;line-height:1.55}.commercial-funnel{display:grid;grid-template-columns:repeat(7,minmax(105px,1fr));gap:7px;overflow-x:auto;margin-top:12px}.commercial-funnel article{position:relative;display:grid;gap:3px;border:1px solid #dbe4e8;border-radius:9px;padding:10px;min-width:105px}.commercial-funnel article.supported{background:#eef8f3;border-color:#a8d0bd}.commercial-funnel article.excluded{background:#f7f9fa}.commercial-funnel article>b{position:absolute;right:7px;top:7px;width:18px;height:18px;border-radius:50%;background:#dceaf2;text-align:center;padding-top:2px;font-size:9px}.commercial-funnel span{font-size:9px;font-weight:850;padding-right:17px}.commercial-funnel strong{font-size:14px}.commercial-funnel em,.commercial-funnel small{font-size:8px;font-style:normal;color:#667881}.commercial-funnel.compact{grid-template-columns:repeat(7,minmax(92px,1fr))}.commercial-funnel.compact article{padding:8px;min-width:92px}.commercial-table-wrap{overflow:auto;max-width:100%;margin-top:12px;border:1px solid #dce4e8;border-radius:9px}.commercial-table-wrap table{border-collapse:separate;border-spacing:0;width:100%;min-width:920px;font-size:9px}.commercial-table-wrap.wide table{min-width:1900px}.commercial-table-wrap th,.commercial-table-wrap td{padding:9px;border-bottom:1px solid #e3e9ec;text-align:right;white-space:nowrap}.commercial-table-wrap thead th{position:sticky;top:0;background:#eaf2f6;z-index:2;font-size:8px;text-transform:uppercase}.commercial-table-wrap th:first-child,.commercial-table-wrap td:first-child{position:sticky;left:0;background:#fff;text-align:left;z-index:1}.commercial-table-wrap thead th:first-child{background:#eaf2f6;z-index:3}.commercial-actions{display:grid;gap:7px;margin-top:10px}.commercial-actions article{display:grid;grid-template-columns:1fr auto;gap:5px 10px;border-bottom:1px solid #e5eaed;padding:8px}.commercial-actions strong,.commercial-actions span,.commercial-actions small{display:block;font-size:9px}.commercial-actions b{font-size:9px;color:#225f82}.commercial-actions small{grid-column:2}.commercial-scenarios{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.commercial-scenarios>article{border:1px solid #dbe4e8;border-top:4px solid #3f7899;border-radius:10px;padding:13px}.commercial-scenarios header{display:flex;justify-content:space-between;gap:8px}.commercial-scenarios header span{font-size:8px;text-transform:uppercase;font-weight:850}.commercial-scenarios h4{font-size:14px;margin:3px 0}.commercial-scenarios header>b{font-size:8px;color:#9e3a31}.commercial-scenarios>article>div{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:10px 0}.commercial-scenarios strong{font-size:14px}.commercial-scenarios em{display:block;font-size:7px;text-transform:uppercase;font-style:normal;color:#687983}.commercial-scenarios p,.commercial-scenarios section{font-size:9px;line-height:1.45}.commercial-scenarios section{padding:9px;background:#f6f9fa;border-radius:8px}.commercial-scenarios.compact{grid-template-columns:1fr}.commercial-scenarios.compact>article>div{grid-template-columns:1fr 1fr}.commercial-customer-list{display:grid;gap:7px;margin-top:10px}.commercial-customer-list article{display:grid;grid-template-columns:1fr auto;gap:3px 10px;border-bottom:1px solid #e4eaed;padding:8px}.commercial-customer-list strong,.commercial-customer-list span{font-size:9px}.commercial-customer-list b{grid-row:1/3;grid-column:2;font-size:14px}.commercial-customer-list em{display:block;font-size:8px;font-style:normal}.commercial-panel.confidence li,.commercial-panel.confidence p{font-size:10px;line-height:1.5}.commercial-proof-tabs{display:flex;flex-wrap:wrap;gap:5px}.commercial-proof-tabs button{border:1px solid #ccd9e0;background:#fff;border-radius:7px;padding:6px 8px;font-size:8px;font-weight:850}.commercial-proof-tabs button[aria-selected=true]{background:#316d8e;border-color:#316d8e;color:#fff}.commercial-drawer{width:min(840px,94vw);box-sizing:border-box}.commercial-drawer>header{position:relative;padding-right:92px}.commercial-drawer>header button{position:absolute!important;right:15px;top:15px;z-index:5}.commercial-drawer .commercial-funnel{grid-template-columns:repeat(2,1fr)}
@media(max-width:950px){.commercial-grid,.commercial-hero{grid-template-columns:1fr}.commercial-scenarios{grid-template-columns:1fr}.owner-commercial-kpis{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.owner-commercial-section{padding:14px}.owner-commercial-section>header,.owner-commercial-section>footer,.commercial-panel>header{flex-direction:column;align-items:stretch}.owner-commercial-kpis,.commercial-hero-kpis,.commercial-scenarios>article>div{grid-template-columns:1fr}.commercial-workspace,.commercial-hero,.commercial-panel{width:calc(100vw - 24px)!important;max-width:calc(100vw - 24px)!important;min-width:0!important}.commercial-hero,.commercial-panel{padding:14px;overflow:hidden}.commercial-funnel,.commercial-funnel.compact,.commercial-drawer .commercial-funnel{grid-template-columns:repeat(7,125px);overflow-x:auto}.commercial-proof-tabs{flex-wrap:nowrap;overflow:auto}.commercial-drawer{width:100vw;max-width:100vw}.commercial-drawer>header{min-height:125px}.commercial-drawer>header button{position:fixed!important;right:12px!important;top:12px!important;background:#fff!important;border:1px solid #8898a5!important}}
@media(max-width:640px){.demand-monthly,.demand-monthly.compact,.demand-drawer .demand-monthly{display:grid;grid-template-columns:repeat(6,130px);overflow-x:auto;white-space:normal}.demand-monthly>article,.demand-monthly.compact>article,.demand-drawer .demand-monthly>article{width:auto;min-width:0}.demand-drawer>header{min-height:112px;padding-right:88px!important}.demand-drawer>header button{position:fixed!important;right:12px!important;top:12px!important;background:#fff!important;border:1px solid #8898a5!important;color:#17232b!important;padding:8px 10px!important;border-radius:7px!important}}
/* Owner Operating System: governed decisions, ownership, evidence, and verification */
.owner-oss-signal,.oss-hero,.oss-panel{background:var(--surface,#fff);border:1px solid var(--border,#d8dee8);border-radius:16px;box-shadow:0 8px 28px rgba(25,39,62,.06)}
.owner-oss-signal{margin:18px 0;padding:20px}.owner-oss-signal>header,.owner-oss-signal>footer,.oss-panel>header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.owner-oss-signal h2,.oss-hero h2,.oss-panel h3{margin:3px 0 6px}.owner-oss-signal header span,.oss-hero>div>span,.oss-panel header span{color:var(--muted,#687386);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.owner-oss-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0}.owner-oss-kpis>*{border:1px solid var(--border,#d8dee8);background:var(--surface-soft,#f7f9fc);border-radius:12px;padding:13px;text-align:left;display:flex;flex-direction:column;gap:4px}.owner-oss-kpis button{cursor:pointer;color:inherit}.owner-oss-kpis span{font-size:12px;color:var(--muted,#687386)}.owner-oss-kpis strong{font-size:25px}.owner-oss-kpis em{font-size:11px;font-style:normal}.owner-oss-kpis .risk{border-color:#d98b86;background:#fff5f3}.owner-oss-priority{display:grid;grid-template-columns:1.05fr 1fr;gap:18px;padding:16px;background:#14243a;color:#fff;border-radius:13px}.owner-oss-priority>div{display:flex;flex-direction:column;gap:7px}.owner-oss-priority ol{margin:0;padding:0;list-style:none;display:grid;gap:8px}.owner-oss-priority li{display:flex;gap:10px;align-items:center}.owner-oss-priority li i{width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:#58c1b6;color:#102339;font-style:normal;font-weight:900}.owner-oss-priority li span{display:flex;flex-direction:column}.owner-oss-priority li em{font-size:11px;font-style:normal;color:#cad4e2}.owner-oss-signal>footer{align-items:center;margin-top:14px}.owner-oss-signal>footer p{margin:0;max-width:72%}
.oss-workspace{display:grid;gap:16px}.oss-hero{padding:22px;display:grid;grid-template-columns:1.15fr 1fr;gap:24px;background:linear-gradient(130deg,#12243a,#1a3851);color:#fff}.oss-hero p{max-width:720px;color:#dae4ef}.oss-hero small{color:#b8c9d9}.oss-hero-kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.oss-hero-kpis article{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:12px;padding:13px;display:flex;flex-direction:column}.oss-hero-kpis span,.oss-hero-kpis em{font-size:11px;font-style:normal;color:#c8d6e4}.oss-hero-kpis strong{font-size:23px}.oss-hero-kpis .risk{border-color:#d9897f}.oss-layout{display:grid;grid-template-columns:1.7fr .8fr;gap:16px}.oss-panel{padding:18px;min-width:0}.oss-panel.today{max-height:890px;overflow:auto}.oss-panel.diagnosis{position:sticky;top:14px;align-self:start}.oss-panel.diagnosis>p{line-height:1.55}.oss-panel.diagnosis>b{display:block;padding:13px;background:#e8f4f1;border-radius:10px;color:#183f3a}.oss-closure-rule{margin-top:16px;padding:14px;border:1px solid #df9b92;background:#fff5f3;border-radius:10px;display:flex;flex-direction:column;gap:4px}.oss-action-stack{display:grid;gap:12px;margin-top:14px}.oss-action-card{border:1px solid var(--border,#d8dee8);border-left:4px solid #5d809f;border-radius:12px;padding:14px}.oss-action-card.overdue{border-left-color:#c34f42}.oss-action-card>header{display:flex;justify-content:space-between;gap:12px}.oss-action-card header span{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted,#687386)}.oss-action-card h4{margin:3px 0}.oss-state{height:max-content;border-radius:999px;padding:5px 8px;font-size:10px;white-space:nowrap;background:#edf1f5}.oss-state.blocked,.oss-state.waiting-on-dependency{background:#fbe7e4;color:#8c3028}.oss-state.waiting-for-approval{background:#fff1cf;color:#76540b}.oss-state.completed-pending-verification{background:#e7e7fb;color:#4e438c}.oss-action-card dl{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}.oss-action-card dl div{display:flex;flex-direction:column}.oss-action-card dt{font-size:10px;color:var(--muted,#687386);text-transform:uppercase}.oss-action-card dd{margin:2px 0;font-size:12px}.oss-impact-row{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}.oss-impact-row span{display:flex;flex-direction:column;min-width:120px;background:var(--surface-soft,#f7f9fc);padding:8px;border-radius:8px;font-size:10px}.oss-impact-row b{font-size:14px}.oss-action-detail{margin-top:10px;padding:12px;background:var(--surface-soft,#f7f9fc);border-radius:9px}.oss-action-detail p{margin:6px 0;font-size:12px}.oss-causes{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}.oss-causes>article{border:1px solid var(--border,#d8dee8);border-radius:12px;padding:13px}.oss-causes article header,.oss-causes article footer{display:flex;justify-content:space-between;gap:8px}.oss-causes h4{margin:3px 0}.oss-causes p{font-size:12px}.oss-signal{display:grid;grid-template-columns:auto 1fr auto;gap:7px;border-top:1px solid var(--border,#d8dee8);padding:7px 0;font-size:11px}.oss-signal b{font-size:9px}.oss-signal.critical b{color:#a53a30}.oss-signal em{font-style:normal}.oss-causes footer{font-size:10px;color:var(--muted,#687386);margin-top:8px}.oss-kanban{display:grid;grid-template-columns:repeat(6,minmax(190px,1fr));gap:10px;overflow:auto;padding:12px 2px 5px}.oss-kanban>section{background:var(--surface-soft,#f7f9fc);border-radius:11px;padding:10px;min-height:140px}.oss-kanban h4{display:flex;justify-content:space-between;margin:2px}.oss-kanban section>article{display:flex;flex-direction:column;gap:5px;background:var(--surface,#fff);border:1px solid var(--border,#d8dee8);border-radius:9px;padding:10px;margin-top:8px}.oss-kanban article span,.oss-kanban article em{font-size:10px;font-style:normal;color:var(--muted,#687386)}.oss-three{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.oss-workload,.oss-inbox{display:grid;grid-template-columns:1fr auto;gap:3px;padding:10px 0;border-bottom:1px solid var(--border,#d8dee8)}.oss-workload span,.oss-inbox span{font-size:11px}.oss-workload em{font-size:10px;font-style:normal;grid-column:2}.oss-inbox.risk b{color:#9c3d33}.oss-paths{display:grid;gap:8px;margin-top:12px}.oss-paths article{display:grid;grid-template-columns:32px 1fr auto;gap:12px;align-items:center;padding:10px;background:var(--surface-soft,#f7f9fc);border-radius:10px}.oss-paths i{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#183b52;color:#fff;font-style:normal}.oss-paths article div{display:flex;flex-direction:column}.oss-paths span,.oss-paths em{font-size:10px;font-style:normal}.oss-paths strong{font-size:10px;color:#9c3d33}.reviews ol{padding-left:18px}.oss-panel.confidence{background:#14243a;color:#fff}.oss-panel.confidence p,.oss-panel.confidence li{color:#d0dbe7}.oss-proof-tabs{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.oss-proof-tabs button{border:1px solid var(--border,#d8dee8);background:var(--surface-soft,#f7f9fc);border-radius:999px;padding:5px 9px;font-size:10px;cursor:pointer}.oss-proof-tabs button[aria-selected="true"]{background:#183b52;color:#fff}.oss-panel.proof>header{display:block}.oss-drawer-actions{display:grid;gap:9px}.oss-drawer-actions article{padding:10px;border:1px solid var(--border,#d8dee8);border-radius:9px;display:grid;gap:5px}.oss-drawer-actions article>span,.oss-drawer-actions article>em{font-size:11px;font-style:normal}.oss-drawer-actions article>div{display:flex;gap:6px;flex-wrap:wrap}.oss-drawer-actions article>div span{font-size:9px;display:flex;gap:3px}
@media(max-width:1050px){.owner-oss-kpis,.oss-hero-kpis{grid-template-columns:repeat(2,1fr)}.oss-hero,.oss-layout{grid-template-columns:1fr}.oss-panel.diagnosis{position:static}.oss-causes,.oss-three{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){main.content,#view,.oss-workspace,.oss-hero,.oss-panel,.oss-layout{min-width:0;max-width:100%}.oss-workspace *{min-width:0;overflow-wrap:anywhere}.topbar{align-items:flex-start;flex-wrap:wrap}.topbar-actions{max-width:100%;min-width:0;flex-wrap:wrap}.page-actions{display:flex;max-width:calc(100vw - 24px);overflow-x:auto;gap:8px;padding-bottom:4px}.page-actions .btn{flex:0 0 auto}.owner-oss-signal{padding:14px}.owner-oss-signal>header,.owner-oss-signal>footer,.oss-panel>header{flex-direction:column}.owner-oss-kpis,.oss-hero-kpis,.oss-causes,.oss-three{grid-template-columns:1fr}.owner-oss-priority{grid-template-columns:1fr}.owner-oss-signal>footer p{max-width:none}.oss-hero{padding:16px;width:auto}.oss-panel{padding:14px}.oss-action-card>header{flex-direction:column}.oss-action-card dl{grid-template-columns:repeat(2,minmax(0,1fr))}.oss-kanban{grid-template-columns:repeat(6,82vw)}.oss-paths article{grid-template-columns:28px minmax(0,1fr)}.oss-paths article>strong{grid-column:2}.oss-proof-tabs{flex-wrap:nowrap;overflow:auto;padding-bottom:5px}.oss-drawer{width:100vw;max-width:100vw}}
@media(max-width:680px){main.content,#view,.oss-workspace,.oss-hero,.oss-panel,.oss-layout,.oss-workspace *{box-sizing:border-box}.oss-workspace,.oss-hero,.oss-panel{width:100%}}
/* Supplier & Purchasing Execution */
.owner-supplier-signal,.supplier-hero,.supplier-panel{background:var(--surface,#fff);border:1px solid var(--border,#d8dee8);border-radius:16px;box-shadow:0 8px 28px rgba(25,39,62,.06)}.owner-supplier-signal{padding:20px;margin:18px 0}.owner-supplier-signal>header,.owner-supplier-signal>footer,.supplier-panel>header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.owner-supplier-signal h2,.supplier-hero h2,.supplier-panel h3{margin:3px 0 6px}.owner-supplier-signal header span,.supplier-hero>div>span,.supplier-panel header span{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted,#687386)}.owner-supplier-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0}.owner-supplier-kpis>*{border:1px solid var(--border,#d8dee8);background:var(--surface-soft,#f7f9fc);border-radius:12px;padding:13px;text-align:left;display:flex;flex-direction:column;gap:4px}.owner-supplier-kpis button{cursor:pointer;color:inherit}.owner-supplier-kpis span{font-size:11px;color:var(--muted,#687386)}.owner-supplier-kpis strong{font-size:24px}.owner-supplier-kpis em{font-size:10px;font-style:normal}.owner-supplier-kpis .risk{background:#fff5f3;border-color:#dc9188}.owner-supplier-signal>footer{align-items:center}.owner-supplier-signal>footer p{display:flex;flex-direction:column;gap:4px;margin:0;max-width:75%}.supplier-workspace{display:grid;gap:16px}.supplier-hero{padding:22px;display:grid;grid-template-columns:1.15fr 1fr;gap:24px;background:linear-gradient(130deg,#17372f,#1d5144);color:#fff}.supplier-hero p{color:#d5e8e1}.supplier-hero small{color:#b8d4cb}.supplier-hero-kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.supplier-hero-kpis article{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:13px;display:flex;flex-direction:column}.supplier-hero-kpis span,.supplier-hero-kpis em{font-size:10px;font-style:normal;color:#c8ddd6}.supplier-hero-kpis strong{font-size:23px}.supplier-hero-kpis .risk{border-color:#e09a8e}.supplier-grid{display:grid;grid-template-columns:1.45fr .75fr;gap:16px}.supplier-panel{padding:18px;min-width:0}.supplier-panel.diagnosis>b{display:block;padding:12px;border-radius:10px;background:#e5f3ee;color:#19463b}.supplier-rule{margin-top:14px;padding:12px;border:1px solid #db988e;background:#fff5f3;border-radius:10px;display:flex;flex-direction:column}.supplier-flow{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:12px}.supplier-flow>article{border:1px solid var(--border,#d8dee8);border-radius:11px;padding:12px}.supplier-flow>article.risk{border-left:4px solid #bf4c40}.supplier-flow article>header{display:flex;justify-content:space-between}.supplier-flow h4{margin:2px 0}.supplier-flow article>div{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:10px 0}.supplier-flow article>div span{display:flex;flex-direction:column;font-size:9px;background:var(--surface-soft,#f7f9fc);padding:6px;border-radius:7px}.supplier-flow p,.supplier-flow em{font-size:10px;font-style:normal}.supplier-table-wrap{overflow:auto;margin-top:12px;max-width:100%}.supplier-table-wrap table{border-collapse:collapse;min-width:1500px;width:100%}.supplier-table-wrap th,.supplier-table-wrap td{padding:9px;border-bottom:1px solid var(--border,#d8dee8);text-align:left;font-size:11px;white-space:nowrap}.supplier-table-wrap thead th{position:sticky;top:0;background:var(--surface,#fff);z-index:2}.supplier-table-wrap tbody th{position:sticky;left:0;background:var(--surface,#fff);z-index:1}.supplier-exposure{display:grid;gap:8px;margin-top:12px}.supplier-exposure article,.supplier-summary{display:grid;grid-template-columns:1fr auto;gap:3px;padding:9px;border-bottom:1px solid var(--border,#d8dee8)}.supplier-exposure span,.supplier-exposure em,.supplier-summary span,.supplier-summary em{font-size:10px;font-style:normal}.supplier-scenarios{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:12px}.supplier-scenarios>article{border:1px solid var(--border,#d8dee8);border-radius:12px;padding:13px}.supplier-scenarios article>header{display:flex;justify-content:space-between;gap:10px}.supplier-scenarios h4{margin:3px 0}.supplier-scenarios article>div{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:10px 0}.supplier-scenarios article>div span{display:flex;flex-direction:column;font-size:9px;background:var(--surface-soft,#f7f9fc);padding:7px;border-radius:7px}.supplier-scenarios p,.supplier-scenarios section{font-size:11px}.supplier-panel.confidence{background:#17372f;color:#fff}.supplier-panel.confidence li,.supplier-panel.confidence p{color:#d4e4df}.supplier-proof-tabs{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.supplier-proof-tabs button{border:1px solid var(--border,#d8dee8);background:var(--surface-soft,#f7f9fc);border-radius:999px;padding:5px 9px;font-size:10px;cursor:pointer}.supplier-proof-tabs button[aria-selected="true"]{background:#1d5144;color:#fff}.supplier-panel.proof>header{display:block}.supplier-drawer .supplier-flow{grid-template-columns:1fr}.supplier-drawer .supplier-flow article>div{grid-template-columns:repeat(2,1fr)}
@media(max-width:1050px){.supplier-hero,.supplier-grid{grid-template-columns:1fr}.supplier-flow,.supplier-scenarios{grid-template-columns:1fr}}
@media(max-width:680px){.owner-supplier-signal,.supplier-workspace,.supplier-hero,.supplier-panel,.supplier-workspace *{box-sizing:border-box;min-width:0}.owner-supplier-signal>header,.owner-supplier-signal>footer,.supplier-panel>header{flex-direction:column}.owner-supplier-kpis,.supplier-hero-kpis{grid-template-columns:1fr}.owner-supplier-signal>footer p{max-width:none}.supplier-hero,.supplier-panel{padding:14px;width:100%}.supplier-flow article>div,.supplier-scenarios article>div{grid-template-columns:repeat(2,minmax(0,1fr))}.supplier-proof-tabs{flex-wrap:nowrap;overflow:auto}.supplier-table-wrap{max-width:calc(100vw - 58px)}}
@media(max-width:680px){html,body,#app,main.content{max-width:100vw;overflow-x:hidden}.topbar-title{min-width:0;max-width:100%}.topbar-title h1{white-space:normal;font-size:20px;line-height:1.15}.supplier-workspace,.supplier-hero,.supplier-panel{max-width:calc(100vw - 24px);overflow:hidden}.supplier-hero h2,.supplier-hero p,.supplier-hero small,.supplier-hero>div>span{display:block;max-width:calc(100vw - 58px);overflow-wrap:anywhere}.supplier-table-wrap,.supplier-proof-tabs{overflow-x:auto;overflow-y:hidden}.supplier-panel.proof{overflow:visible}}
/* Quality Management & Continuous Improvement */
.owner-quality-signal,.quality-hero,.quality-panel{background:var(--surface,#fff);border:1px solid var(--border,#d8dee8);border-radius:16px;box-shadow:0 8px 28px rgba(25,39,62,.06)}.owner-quality-signal{padding:20px;margin:18px 0}.owner-quality-signal>header,.owner-quality-signal>footer,.quality-panel>header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.owner-quality-signal h2,.quality-hero h2,.quality-panel h3{margin:3px 0 6px}.owner-quality-signal header span,.quality-hero>div>span,.quality-panel header span{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted,#687386)}.owner-quality-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:16px 0}.owner-quality-kpis>*{border:1px solid var(--border,#d8dee8);background:var(--surface-soft,#f7f9fc);border-radius:12px;padding:13px;text-align:left;display:flex;flex-direction:column;gap:4px}.owner-quality-kpis button{cursor:pointer;color:inherit}.owner-quality-kpis span{font-size:11px;color:var(--muted,#687386)}.owner-quality-kpis strong{font-size:24px}.owner-quality-kpis em{font-size:10px;font-style:normal}.owner-quality-kpis .risk{background:#fff4f2;border-color:#d98c82}.owner-quality-signal>footer{align-items:center}.owner-quality-signal>footer p{display:flex;flex-direction:column;gap:4px;margin:0;max-width:75%}.quality-workspace{display:grid;gap:16px}.quality-hero{padding:22px;display:grid;grid-template-columns:1.15fr 1fr;gap:24px;background:linear-gradient(130deg,#3a213c,#67384f);color:#fff}.quality-hero p{color:#eadce6}.quality-hero small{color:#d5bed0}.quality-hero-kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.quality-hero-kpis article{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:13px;display:flex;flex-direction:column}.quality-hero-kpis span,.quality-hero-kpis em{font-size:10px;font-style:normal;color:#e0cedb}.quality-hero-kpis strong{font-size:23px}.quality-hero-kpis .risk{border-color:#e09a8e}.quality-panel{padding:18px;min-width:0}.quality-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.quality-panel.diagnosis>b{display:block;padding:12px;border-radius:10px;background:#f1e7ef;color:#533045}.quality-rule{margin-top:14px;padding:12px;border:1px solid #da958b;background:#fff5f3;border-radius:10px;display:flex;flex-direction:column}.quality-flow{display:flex;align-items:stretch;gap:6px;overflow:auto;margin-top:12px}.quality-flow article{min-width:130px;flex:1;border:1px solid var(--border,#d8dee8);background:var(--surface-soft,#f7f9fc);border-radius:10px;padding:10px;display:flex;flex-direction:column}.quality-flow article.risk{border-color:#d98c82;background:#fff5f3}.quality-flow strong{font-size:22px}.quality-flow em{font-size:9px;font-style:normal}.quality-flow>i{align-self:center;font-style:normal;color:#9aa4b1}.quality-confidence,.quality-cost{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.quality-confidence div,.quality-cost div{background:var(--surface-soft,#f7f9fc);padding:10px;border-radius:8px}.quality-confidence dt,.quality-cost dt{font-size:10px;color:var(--muted,#687386)}.quality-confidence dd,.quality-cost dd{margin:3px 0;font-weight:700}.quality-table-wrap{overflow:auto;max-width:100%;margin-top:12px}.quality-table-wrap table{border-collapse:collapse;min-width:1450px;width:100%}.quality-table-wrap th,.quality-table-wrap td{padding:9px;border-bottom:1px solid var(--border,#d8dee8);font-size:11px;text-align:left;white-space:nowrap}.quality-table-wrap thead th{position:sticky;top:0;background:var(--surface,#fff);z-index:2}.quality-table-wrap tbody th{position:sticky;left:0;background:var(--surface,#fff);z-index:1}.quality-pareto{display:grid;gap:10px;margin-top:12px}.quality-pareto article{display:grid;grid-template-columns:150px 1fr 70px;align-items:center;gap:9px}.quality-pareto article>div{height:10px;background:#eee;border-radius:999px;overflow:hidden}.quality-pareto i{display:block;height:100%;background:#925c7b;border-radius:999px}.quality-pareto b{display:flex;flex-direction:column;text-align:right}.quality-pareto em{font-size:9px;font-style:normal}.quality-action,.quality-release{display:flex;flex-direction:column;gap:3px;padding:10px 0;border-bottom:1px solid var(--border,#d8dee8)}.quality-action span,.quality-action em,.quality-release span,.quality-release em{font-size:10px;font-style:normal}.quality-scenarios{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:12px}.quality-scenarios>article{border:1px solid var(--border,#d8dee8);border-radius:12px;padding:13px}.quality-scenarios article>header{display:flex;justify-content:space-between;gap:10px}.quality-scenarios h4{margin:3px 0}.quality-scenarios article>div{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:10px 0}.quality-scenarios article>div span{display:flex;flex-direction:column;font-size:9px;background:var(--surface-soft,#f7f9fc);padding:7px;border-radius:7px}.quality-scenarios p,.quality-scenarios section{font-size:11px}.quality-proof-tabs{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.quality-proof-tabs button{border:1px solid var(--border,#d8dee8);background:var(--surface-soft,#f7f9fc);border-radius:999px;padding:5px 9px;font-size:10px;cursor:pointer}.quality-proof-tabs button[aria-selected="true"]{background:#67384f;color:#fff}.quality-panel.proof>header{display:block}.quality-drawer-hold{display:flex;flex-direction:column;padding:9px;border:1px solid var(--border,#d8dee8);border-radius:8px}.quality-drawer-hold span,.quality-drawer-hold em{font-size:10px;font-style:normal}
@media(max-width:1050px){.quality-hero,.quality-grid{grid-template-columns:1fr}.quality-scenarios{grid-template-columns:1fr}}
@media(max-width:680px){.owner-quality-signal,.quality-workspace,.quality-hero,.quality-panel,.quality-workspace *{box-sizing:border-box;min-width:0}.quality-workspace{width:100%;max-width:calc(100vw - 24px);overflow:hidden}.owner-quality-signal>header,.owner-quality-signal>footer,.quality-panel>header{flex-direction:column}.quality-hero>div,.quality-panel>header,.quality-panel>header>div{width:100%;max-width:100%}.owner-quality-kpis,.quality-hero-kpis,.quality-confidence,.quality-cost{grid-template-columns:1fr}.owner-quality-signal>footer p{max-width:none}.quality-hero,.quality-panel{padding:14px;width:100%;max-width:100%;overflow:hidden}.quality-hero h2,.quality-hero p,.quality-hero small,.quality-hero>div>span,.quality-panel h3,.quality-panel p,.quality-panel b{display:block;width:100%;max-width:100%;white-space:normal;overflow-wrap:anywhere}.quality-flow{width:100%;max-width:100%;overflow-x:auto;overflow-y:hidden}.quality-flow article{flex:0 0 min(130px,72vw)}.quality-scenarios article>div{grid-template-columns:repeat(2,minmax(0,1fr))}.quality-proof-tabs{flex-wrap:nowrap;overflow:auto}.quality-table-wrap{width:100%;max-width:100%}.quality-panel.proof{overflow:visible}}

.owner-learning-signal,.learning-hero,.learning-panel{background:var(--surface,#fff);border:1px solid var(--border,#d8dee8);border-radius:16px;box-shadow:0 8px 28px rgba(25,39,62,.06)}.owner-learning-signal{padding:20px;margin:18px 0}.owner-learning-signal>header,.owner-learning-signal>footer,.learning-panel>header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.owner-learning-signal h2,.learning-hero h2,.learning-panel h3{margin:3px 0 6px}.owner-learning-signal header span,.learning-hero>div>span,.learning-panel header span{font-size:10px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:var(--muted,#687386)}.owner-learning-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}.owner-learning-kpis>*{border:1px solid var(--border,#d8dee8);background:var(--surface-soft,#f7f9fc);border-radius:12px;padding:13px;text-align:left;display:flex;flex-direction:column;gap:4px}.owner-learning-kpis button{cursor:pointer;color:inherit}.owner-learning-kpis span{font-size:10px;color:var(--muted,#687386)}.owner-learning-kpis strong{font-size:24px}.owner-learning-kpis em{font-size:9px;font-style:normal}.owner-learning-kpis .risk{background:#fff4f2;border-color:#dc9188}.owner-learning-signal>footer{align-items:center}.owner-learning-signal>footer p{display:flex;flex-direction:column;gap:4px;margin:0;max-width:75%}.learning-workspace{display:grid;gap:16px;min-width:0}.learning-hero{padding:22px;display:grid;grid-template-columns:1.15fr 1fr;gap:24px;background:linear-gradient(130deg,#162f47,#355b72);color:#fff}.learning-hero p{color:#d8e6ee}.learning-hero small{color:#bcd1dc}.learning-hero-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.learning-hero-kpis article{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:12px;padding:13px;display:flex;flex-direction:column}.learning-hero-kpis span,.learning-hero-kpis em{font-size:9px;font-style:normal;color:#d2e0e7}.learning-hero-kpis strong{font-size:23px}.learning-hero-kpis .risk{border-color:#e09a8e}.learning-panel{padding:18px;min-width:0}.learning-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.learning-panel.diagnosis>b{display:block;padding:12px;border-radius:10px;background:#e6f0f5;color:#23485d}.learning-rule{margin-top:14px;padding:12px;border:1px solid #79a1b7;background:#f2f8fb;border-radius:10px;display:flex;flex-direction:column}.learning-panel.confidence{background:#18364c;color:#fff}.learning-panel.confidence li{color:#d2e0e8}.learning-contract-flow{display:flex;gap:6px;overflow:auto;margin-top:12px}.learning-contract-flow article{min-width:145px;flex:1;border:1px solid var(--border,#d8dee8);background:var(--surface-soft,#f7f9fc);border-radius:10px;padding:10px;display:flex;flex-direction:column}.learning-contract-flow article.pending{border-color:#d8a04b;background:#fff8ea}.learning-contract-flow span,.learning-contract-flow em{font-size:9px;font-style:normal}.learning-contract-flow strong{font-size:11px;margin:4px 0}.learning-contract-flow>i{align-self:center;font-style:normal;color:#91a1ab}.learning-table-wrap{overflow:auto;max-width:100%;margin-top:12px;border:1px solid var(--border,#d8dee8);border-radius:10px}.learning-table-wrap table{border-collapse:separate;border-spacing:0;min-width:1400px;width:100%}.learning-table-wrap th,.learning-table-wrap td{padding:9px;border-bottom:1px solid var(--border,#d8dee8);font-size:10px;text-align:right;white-space:nowrap}.learning-table-wrap th:first-child,.learning-table-wrap td:first-child{position:sticky;left:0;text-align:left;background:#fff;z-index:1}.learning-table-wrap thead th{position:sticky;top:0;background:#eaf1f5;z-index:2}.learning-table-wrap thead th:first-child{background:#eaf1f5;z-index:3}.learning-table-wrap tbody th small{display:block;font-size:8px;color:#687986}.learning-table-wrap tr.risk td:last-child{color:#9c3029}.learning-table-wrap tr.good td:last-child{color:#286746}.learning-table-wrap tr.missing{background:#f3f4f5;color:#5f6970}.learning-attribution{display:grid;gap:8px;margin-top:12px}.learning-attribution article{display:grid;grid-template-columns:150px 1fr 80px 65px;align-items:center;gap:8px}.learning-attribution span,.learning-attribution em{font-size:9px;font-style:normal}.learning-attribution>article>div{height:9px;background:#e6edf0;border-radius:999px;overflow:hidden}.learning-attribution i{display:block;height:100%;background:#517f99;border-radius:999px}.learning-attribution b{text-align:right;font-size:10px}.learning-financial{display:grid;gap:8px;margin-top:12px}.learning-financial article{display:grid;grid-template-columns:1fr auto 16px auto auto;gap:8px;align-items:center;border-bottom:1px solid var(--border,#d8dee8);padding:9px}.learning-financial span,.learning-financial em{font-size:9px;font-style:normal}.learning-financial em{color:#9a332d}.learning-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.learning-actions article{display:grid;grid-template-columns:1fr auto;gap:4px 8px;border:1px solid var(--border,#d8dee8);border-left:4px solid #b54a40;border-radius:10px;padding:11px}.learning-actions article.good{border-left-color:#3a865f}.learning-actions span,.learning-actions em{font-size:9px;font-style:normal}.learning-actions strong{font-size:11px}.learning-actions em{grid-column:1/3}.learning-recommendations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.learning-recommendations>article{border:1px solid var(--border,#d8dee8);border-top:4px solid #426f8a;border-radius:12px;padding:13px}.learning-recommendations article>header{display:flex;justify-content:space-between;gap:10px}.learning-recommendations h4{margin:3px 0}.learning-recommendations header span,.learning-recommendations header>b{font-size:9px}.learning-recommendations>article>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:10px 0}.learning-recommendations>article>div span{display:flex;flex-direction:column;font-size:8px;background:var(--surface-soft,#f7f9fc);padding:7px;border-radius:7px}.learning-recommendations p,.learning-recommendations section{font-size:10px;line-height:1.45}.learning-finding{display:grid;grid-template-columns:1fr auto;gap:3px 8px;padding:9px 0;border-bottom:1px solid var(--border,#d8dee8)}.learning-finding b,.learning-finding span,.learning-finding em{font-size:10px}.learning-finding em{grid-column:1/3;font-style:normal;color:var(--muted,#687386)}.learning-proof-tabs{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.learning-proof-tabs button{border:1px solid var(--border,#d8dee8);background:var(--surface-soft,#f7f9fc);border-radius:999px;padding:5px 9px;font-size:9px;cursor:pointer}.learning-proof-tabs button[aria-selected="true"]{background:#315f79;color:#fff}.learning-panel.proof>header{display:block}.learning-miss-list{display:grid;gap:6px}.learning-miss-list article{display:grid;grid-template-columns:1fr auto;gap:3px 8px;border-bottom:1px solid var(--border,#d8dee8);padding:8px}.learning-miss-list span,.learning-miss-list em{font-size:10px;font-style:normal}.learning-miss-list em{grid-column:1/3;color:#9d362f}.learning-drawer{width:min(820px,94vw)}
@media(max-width:1050px){.learning-hero,.learning-grid{grid-template-columns:1fr}.learning-actions{grid-template-columns:1fr}.learning-recommendations{grid-template-columns:1fr}}
@media(max-width:680px){.owner-learning-signal,.learning-workspace,.learning-hero,.learning-panel,.learning-workspace *{box-sizing:border-box;min-width:0}.learning-workspace,.learning-hero,.learning-panel{width:calc(100dvw - 24px)!important;max-width:calc(100dvw - 24px)!important}.learning-workspace{overflow:hidden}.owner-learning-signal>header,.owner-learning-signal>footer,.learning-panel>header{flex-direction:column}.owner-learning-kpis,.learning-hero-kpis{grid-template-columns:minmax(0,1fr);width:100%;max-width:100%}.owner-learning-signal>footer p{max-width:none}.learning-hero,.learning-panel{padding:14px;overflow:hidden}.learning-hero>div,.learning-panel>header,.learning-panel>header>div{width:calc(100dvw - 52px)!important;max-width:calc(100dvw - 52px)!important}.learning-hero-kpis article{width:100%;max-width:100%}.learning-hero h2,.learning-hero p,.learning-hero small,.learning-hero>div>span,.learning-panel h3,.learning-panel p,.learning-panel b{display:block;width:calc(100dvw - 52px)!important;max-width:calc(100dvw - 52px)!important;white-space:normal!important;overflow-wrap:anywhere}.learning-contract-flow{width:100%;max-width:100%;overflow-x:auto}.learning-contract-flow article{flex:0 0 min(145px,72dvw)}.learning-table-wrap{width:100%;max-width:100%}.learning-recommendations>article>div{grid-template-columns:repeat(2,minmax(0,1fr))}.learning-attribution article{grid-template-columns:105px 1fr 65px}.learning-attribution em{grid-column:1/4}.learning-financial article{grid-template-columns:1fr auto}.learning-financial i{display:none}.learning-financial em{grid-column:1/3}.learning-proof-tabs{flex-wrap:nowrap;overflow:auto}.learning-panel.proof{overflow:visible}.learning-drawer{width:100dvw;max-width:100dvw}.learning-drawer>header{min-height:130px}.learning-drawer>header button{position:fixed!important;right:12px!important;top:12px!important;background:#fff!important;border:1px solid #8898a5!important}}
@media(max-width:680px){html,body,#app,main.content,#view{box-sizing:border-box!important;width:100dvw!important;max-width:100dvw!important;min-width:0!important;overflow-x:hidden!important}#view:has(.learning-workspace){padding-left:12px!important;padding-right:12px!important}.learning-workspace{contain:inline-size}}
/* Executive Operating Rhythm and governed alerts */
.owner-executive-signal,.executive-panel,.executive-contract,.executive-hero{border:1px solid #c9d6df;border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(31,49,63,.07)}
.owner-executive-signal{margin:18px 0;padding:18px;border-left:5px solid #314b5f}.owner-executive-signal>header,.owner-executive-signal>footer,.executive-panel>header,.executive-contract>header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.owner-executive-signal h2,.executive-panel h3,.executive-contract h3,.executive-hero h2{margin:3px 0 6px;color:#162b3a}.owner-executive-signal header span,.executive-panel header span,.executive-contract header span,.executive-hero>div>span{font-size:.73rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#567283}.owner-executive-signal p,.executive-panel header p,.executive-contract header p,.executive-hero p{margin:0;color:#506474}.owner-executive-kpis,.executive-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}.owner-executive-kpis>*{display:flex;flex-direction:column;align-items:flex-start;text-align:left;border:1px solid #d9e2e8;border-radius:10px;background:#f7fafb;padding:12px;color:#263f50}.owner-executive-kpis button{cursor:pointer}.owner-executive-kpis strong,.executive-summary-grid strong{font-size:1.5rem;color:#142d3d}.owner-executive-kpis em{font-size:.72rem;font-style:normal;color:#677d89}.owner-executive-kpis .risk,.executive-summary-grid .risk{border-color:#e9b8ab;background:#fff6f3}.owner-executive-signal footer p{display:grid;gap:3px}.owner-executive-signal footer span{font-size:.8rem;color:#5e7380}
.executive-workspace{display:grid;gap:16px;min-width:0}.executive-hero{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:20px;padding:22px;background:linear-gradient(125deg,#f5fafc,#edf3f6)}.executive-hero-score{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;border-left:1px solid #cbd8df;padding-left:22px}.executive-hero-score strong{font-size:3.2rem;line-height:1;color:#9d3828}.executive-hero-score span{margin:5px 0 13px;color:#526b79}.executive-status-line{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.executive-status-line span,.executive-channels span{border:1px solid #cbd8df;border-radius:999px;background:#fff;padding:5px 9px;font-size:.73rem;color:#45606f}.executive-summary-grid{grid-template-columns:repeat(5,minmax(0,1fr));margin:0}.executive-summary-grid article{display:flex;flex-direction:column;gap:3px;border:1px solid #d7e1e6;border-radius:11px;padding:13px;background:#f8fafb}.executive-summary-grid span{font-size:.74rem;text-transform:uppercase;font-weight:800;color:#607783}.executive-summary-grid small{color:#6b7f89}.executive-contract,.executive-panel{padding:17px;min-width:0}.executive-contract header p{max-width:48rem;font-size:.78rem}.executive-lifecycle{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;padding:0;counter-reset:step;list-style:none;margin:16px 0}.executive-lifecycle li{position:relative;border:1px solid #cbd8df;border-radius:9px;background:#f5f8fa;padding:10px 8px 10px 34px;font-size:.76rem;font-weight:700;color:#3d5867}.executive-lifecycle li:before{counter-increment:step;content:counter(step);position:absolute;left:8px;top:8px;width:19px;height:19px;display:grid;place-items:center;border-radius:50%;background:#314b5f;color:#fff;font-size:.68rem}.executive-guardrail{margin:0;border-left:4px solid #bd5a47;background:#fff4f1;padding:9px 12px;color:#65382e}.executive-table-wrap{max-width:100%;overflow:auto;border:1px solid #d5e0e5;border-radius:10px}.executive-alert-table{width:100%;min-width:1050px;border-collapse:separate;border-spacing:0;font-size:.77rem}.executive-alert-table th,.executive-alert-table td{padding:9px;border-bottom:1px solid #e2e8eb;text-align:left;vertical-align:top;background:#fff}.executive-alert-table thead th{position:sticky;top:0;z-index:2;background:#edf3f6;color:#38505e}.executive-alert-table tr>th:first-child{position:sticky;left:0;z-index:1;min-width:230px}.executive-alert-table thead th:first-child{z-index:3}.executive-alert-table tbody th button{display:block;border:0;background:none;padding:0;color:#174f70;text-align:left;font-weight:800;cursor:pointer}.executive-alert-table tbody th small{display:block;margin-top:3px;color:#73858e;font-weight:400}.executive-state{display:inline-flex;border:1px solid #c8d5dc;border-radius:999px;padding:3px 7px;background:#f4f7f8;font-size:.69rem;font-weight:800;white-space:nowrap}.executive-state.critical,.executive-state.overdue,.executive-state.failed-outcome{background:#fff0ec;border-color:#e3a18f;color:#8d3021}.executive-state.high,.executive-state.waiting-for-approval,.executive-state.waiting-on-dependency{background:#fff7e5;border-color:#e6c675;color:#735514}.executive-state.completed,.executive-state.verified,.executive-state.delivered-in-app,.executive-state.active{background:#eef8f1;border-color:#9bc7a8;color:#28613a}.executive-state.unrated,.executive-state.missing{background:#f3f1f7;border-color:#bdb3cc;color:#594c6e}.executive-two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px;min-width:0}.executive-queue,.executive-root-groups,.executive-session-grid,.executive-notifications,.executive-workflows{display:grid;gap:10px;margin-top:13px}.executive-queue{grid-template-columns:repeat(3,minmax(0,1fr))}.executive-queue article,.executive-root-groups article,.executive-session-grid article,.executive-notifications article,.executive-workflows>article{display:flex;flex-direction:column;gap:5px;border:1px solid #d6e0e5;border-radius:9px;background:#f8fafb;padding:11px}.executive-queue strong{font-size:1.5rem}.executive-queue span,.executive-root-groups small,.executive-notifications small{font-size:.72rem;color:#687e89}.executive-root-groups{grid-template-columns:repeat(2,minmax(0,1fr))}.executive-session-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.executive-session-grid article>header,.executive-workflows article>header{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}.executive-session-grid dl,.executive-workflows dl,.executive-drawer-alert dl{display:grid;gap:5px;margin:5px 0 0}.executive-session-grid dl div,.executive-workflows dl div,.executive-drawer-alert dl div{display:grid;grid-template-columns:110px 1fr;gap:8px}.executive-session-grid dt,.executive-workflows dt,.executive-drawer-alert dt{font-size:.7rem;font-weight:800;color:#5f747e}.executive-session-grid dd,.executive-workflows dd,.executive-drawer-alert dd{margin:0;font-size:.76rem}.executive-notifications{grid-template-columns:repeat(3,minmax(0,1fr))}.executive-notifications p{margin:2px 0;color:#526875}.executive-channels{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.executive-workflows{grid-template-columns:repeat(2,minmax(0,1fr))}.executive-workflows h4{margin:0}.executive-workflows p{margin:0;color:#526875}.executive-workflows [hidden]{display:none}.executive-workflows [data-executive-workflow-detail]{border-top:1px solid #dbe3e7;padding-top:8px}.executive-proof-tabs{display:flex;gap:6px;overflow:auto;padding:11px 0}.executive-proof-tabs button{white-space:nowrap;border:1px solid #ccd8df;border-radius:999px;background:#fff;padding:6px 10px;text-transform:capitalize;color:#425d6d;cursor:pointer}.executive-proof-tabs button[aria-selected="true"]{background:#314b5f;border-color:#314b5f;color:#fff}.executive-drawer-alert{border:1px solid #d5e0e5;border-radius:9px;padding:10px;background:#f8fafb}.executive-drawer-alert header{display:flex;gap:8px;align-items:center}.executive-drawer-alert p{margin:7px 0;color:#536875}.executive-drawer{width:min(720px,94vw)}
@media(max-width:1000px){.owner-executive-kpis,.executive-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.executive-two-col{grid-template-columns:1fr}.executive-lifecycle{grid-template-columns:repeat(3,minmax(0,1fr))}.executive-session-grid,.executive-notifications{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){html,body,#app,main.content,#view{box-sizing:border-box;width:100%;max-width:100%;min-width:0;overflow-x:hidden}#view:has(.executive-workspace){padding-left:12px!important;padding-right:12px!important}.executive-workspace{box-sizing:border-box!important;width:calc(100vw - 24px)!important;max-width:calc(100vw - 24px)!important;min-width:0!important;contain:inline-size}.executive-workspace h2,.executive-workspace h3,.executive-workspace h4,.executive-workspace p,.executive-workspace span,.executive-workspace small{white-space:normal!important;overflow-wrap:anywhere}.owner-executive-signal>header,.owner-executive-signal>footer,.executive-panel>header,.executive-contract>header{flex-direction:column}.owner-executive-kpis,.executive-summary-grid,.executive-hero,.executive-queue,.executive-root-groups,.executive-session-grid,.executive-notifications,.executive-workflows{grid-template-columns:1fr}.executive-hero-score{border-left:0;border-top:1px solid #cbd8df;padding:14px 0 0}.executive-lifecycle{grid-template-columns:1fr}.executive-panel,.executive-contract,.executive-hero,.owner-executive-signal{box-sizing:border-box;width:100%;max-width:100%;min-width:0;padding:13px}.executive-status-line{width:100%;max-width:100%}.executive-drawer{width:100vw;max-width:100vw}.executive-alert-table{min-width:940px}}
/* Master Data and Policy Governance */
.owner-governance-signal,.governance-hero,.governance-panel{background:#fff;border:1px solid #ccd9d5;border-radius:14px;box-shadow:0 8px 25px rgba(24,48,44,.07)}.owner-governance-signal{padding:18px;margin:18px 0;border-left:5px solid #246b5d}.owner-governance-signal>header,.owner-governance-signal>footer,.governance-panel>header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.owner-governance-signal h2,.governance-panel h3,.governance-hero h2{margin:3px 0 6px;color:#173b34}.owner-governance-signal header span,.governance-panel header span,.governance-hero>div>span{font-size:.72rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:#54776f}.owner-governance-signal p,.governance-panel header p,.governance-hero p{margin:0;color:#536c67}.owner-governance-kpis,.governance-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}.owner-governance-kpis>*{display:flex;flex-direction:column;align-items:flex-start;text-align:left;border:1px solid #d5e1de;border-radius:10px;background:#f5f9f8;padding:12px;color:#244b43}.owner-governance-kpis button{cursor:pointer}.owner-governance-kpis strong,.governance-summary-grid strong{font-size:1.5rem;color:#143a32}.owner-governance-kpis em{font-size:.72rem;font-style:normal;color:#657d77}.owner-governance-kpis .risk,.governance-summary-grid .risk{border-color:#e1ae9e;background:#fff5f1}.owner-governance-signal footer p{display:grid;gap:3px}.owner-governance-signal footer span{font-size:.8rem;color:#607872}
.governance-workspace{display:grid;gap:16px;min-width:0}.governance-hero{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:20px;padding:22px;background:linear-gradient(125deg,#f3faf7,#e9f2ef)}.governance-hero-score{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;border-left:1px solid #bfd1cb;padding-left:22px}.governance-hero-score strong{font-size:3.1rem;line-height:1;color:#a13c29}.governance-hero-score span{margin:5px 0 13px;color:#526f68}.governance-status-line{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.governance-status-line span{border:1px solid #c5d5d0;border-radius:999px;background:#fff;padding:5px 9px;font-size:.72rem}.governance-summary-grid{grid-template-columns:repeat(5,minmax(0,1fr));margin:0}.governance-summary-grid article{display:flex;flex-direction:column;gap:3px;border:1px solid #d3dfdc;border-radius:11px;padding:13px;background:#f7faf9}.governance-summary-grid span{font-size:.72rem;text-transform:uppercase;font-weight:850;color:#607b74}.governance-summary-grid small{color:#6b807b}.governance-panel{padding:17px;min-width:0}.governance-contract header p{max-width:46rem;font-size:.78rem}.governance-lifecycle{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:7px;list-style:none;padding:0;counter-reset:govstep;margin:15px 0 0}.governance-lifecycle li{position:relative;border:1px solid #c8d8d3;background:#f5f9f8;border-radius:8px;padding:9px 6px 9px 30px;font-size:.7rem;font-weight:750}.governance-lifecycle li:before{counter-increment:govstep;content:counter(govstep);position:absolute;left:7px;top:7px;width:17px;height:17px;display:grid;place-items:center;border-radius:50%;background:#286f61;color:#fff;font-size:.62rem}.governance-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;min-width:0}.governance-coverage,.governance-issues,.governance-dependencies,.governance-authority{display:grid;gap:8px;margin-top:12px}.governance-coverage article{border:1px solid #d6e1de;border-radius:9px;padding:10px;background:#f8fbfa}.governance-coverage article>div{display:flex;justify-content:space-between;gap:8px}.governance-coverage i{display:block;height:7px;background:#e2eae7;border-radius:99px;overflow:hidden;margin:7px 0}.governance-coverage i u{display:block;height:100%;background:#2f816f}.governance-coverage small{color:#657c76}.governance-issues{grid-template-columns:repeat(2,minmax(0,1fr));max-height:470px;overflow:auto}.governance-issue-card{display:flex;flex-direction:column;gap:5px;border:1px solid #d5e0dd;border-radius:9px;padding:10px;background:#f8faf9}.governance-issue-card header{display:flex;align-items:center;gap:7px}.governance-issue-card p{margin:0;color:#5b726c;font-size:.76rem}.governance-issue-card small{color:#687e78}.governance-state{display:inline-flex;border:1px solid #c5d5d0;border-radius:999px;background:#f3f7f6;padding:3px 7px;font-size:.68rem;font-weight:850;white-space:nowrap}.governance-state.critical,.governance-state.rejected,.governance-state.blocked{background:#fff0eb;border-color:#e0a28f;color:#8f311f}.governance-state.high,.governance-state.pending,.governance-state.pending-review,.governance-state.pending-validation{background:#fff8e7;border-color:#dfc176;color:#6e5416}.governance-state.effective,.governance-state.approved,.governance-state.complete{background:#edf8f1;border-color:#9dc8aa;color:#28643a}.governance-state.provisional,.governance-state.unapproved,.governance-state.missing-required-field{background:#f3f0f7;border-color:#beb2cc;color:#5f4e71}.governance-table-wrap{max-width:100%;overflow:auto;border:1px solid #d3dfdc;border-radius:10px;margin-top:12px}.governance-table{width:100%;min-width:1180px;border-collapse:separate;border-spacing:0;font-size:.75rem}.governance-table th,.governance-table td{padding:9px;border-bottom:1px solid #e1e8e6;text-align:left;vertical-align:top;background:#fff}.governance-table thead th{position:sticky;top:0;z-index:2;background:#eaf2ef;color:#355b52}.governance-table th:first-child{position:sticky;left:0;z-index:1;min-width:230px}.governance-table thead th:first-child{z-index:3}.governance-table small{display:block;margin-top:3px;color:#71847f}.governance-dependencies{grid-template-columns:repeat(2,minmax(0,1fr))}.governance-dependencies article,.governance-authority article,.governance-timeline article{display:flex;flex-direction:column;gap:4px;border:1px solid #d5e0dd;border-radius:9px;padding:10px;background:#f7faf9}.governance-dependencies em{font-style:normal;color:#356e61}.governance-dependencies small,.governance-authority small,.governance-timeline small{color:#687e78}.governance-authority{grid-template-columns:repeat(2,minmax(0,1fr))}.governance-scenarios{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.governance-scenario{border:1px solid #d3dfdc;border-top:4px solid #2b7465;border-radius:11px;padding:13px}.governance-scenario>header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.governance-scenario h4{margin:3px 0}.governance-scenario>p{font-size:.78rem;color:#536c66}.governance-scenario-deltas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:10px 0}.governance-scenario-deltas span{display:flex;flex-direction:column;background:#f3f7f6;border-radius:7px;padding:7px;font-size:.68rem}.governance-scenario-deltas b{font-size:.82rem}.governance-classification{border-left:3px solid #d9a64e;padding-left:8px}.governance-scenario [hidden]{display:none}.governance-scenario [data-governance-scenario-detail]{border-top:1px solid #d8e2df;margin-top:9px;padding-top:9px}.governance-scenario dl{display:grid;gap:5px}.governance-scenario dl div{display:grid;grid-template-columns:120px 1fr;gap:8px}.governance-scenario dt{font-size:.7rem;font-weight:800;color:#587069}.governance-scenario dd{margin:0;font-size:.75rem}.governance-timeline{display:grid;gap:8px;margin-top:12px}.governance-proof-tabs{display:flex;gap:6px;overflow:auto;padding:11px 0}.governance-proof-tabs button{white-space:nowrap;border:1px solid #c9d8d3;border-radius:999px;background:#fff;padding:6px 10px;text-transform:capitalize;color:#3e645b;cursor:pointer}.governance-proof-tabs button[aria-selected=true]{background:#276f61;border-color:#276f61;color:#fff}.governance-rule{border-left:4px solid #c85b45;background:#fff3ef;padding:10px;color:#68392f}.governance-drawer{width:min(760px,94vw)}
@media(max-width:1050px){.owner-governance-kpis,.governance-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.governance-lifecycle{grid-template-columns:repeat(4,minmax(0,1fr))}.governance-grid{grid-template-columns:1fr}}
@media(max-width:680px){.topbar{box-sizing:border-box!important;width:100dvw!important;max-width:100dvw!important;overflow:hidden!important}.topbar-title,.topbar h1{max-width:100%!important;min-width:0!important}.topbar-actions{max-width:100%!important;min-width:0!important;overflow-x:auto!important;overflow-y:hidden!important}.page-actions{width:max-content!important;max-width:none!important;flex-wrap:nowrap!important}#view:has(.governance-workspace){box-sizing:border-box!important;width:100dvw!important;max-width:100dvw!important;padding-left:12px!important;padding-right:12px!important}.governance-workspace{box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;contain:inline-size;overflow:hidden}.governance-workspace>*{box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important}.governance-hero>div,.governance-panel>header,.governance-panel>header>div{width:100%;max-width:100%;min-width:0;overflow:hidden}.governance-workspace h2,.governance-workspace h3,.governance-workspace h4,.governance-workspace p,.governance-workspace span,.governance-workspace small{display:block;max-width:100%;white-space:normal!important;overflow-wrap:anywhere}.owner-governance-signal>header,.owner-governance-signal>footer,.governance-panel>header{flex-direction:column}.owner-governance-kpis,.governance-summary-grid,.governance-hero,.governance-issues,.governance-dependencies,.governance-authority,.governance-scenarios{grid-template-columns:minmax(0,1fr)}.governance-hero-score{border-left:0;border-top:1px solid #c5d5d0;padding:14px 0 0}.governance-lifecycle{grid-template-columns:minmax(0,1fr)}.governance-panel,.governance-hero,.owner-governance-signal{box-sizing:border-box;width:100%;max-width:100%;min-width:0;padding:13px}.governance-scenario-deltas{grid-template-columns:repeat(2,minmax(0,1fr))}.governance-drawer{width:100dvw;max-width:100dvw}.governance-table{min-width:1060px}}

/* Data integration and reconciliation */
.owner-data-signal,.data-hero,.data-panel{background:#fff;border:1px solid #cbd9d7;border-radius:14px;box-shadow:0 8px 25px rgba(20,48,45,.07)}.owner-data-signal{padding:18px;margin:18px 0;border-left:5px solid #315f89}.owner-data-signal>header,.owner-data-signal>footer,.data-panel>header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.owner-data-signal h2,.data-panel h3,.data-hero h2{margin:3px 0 6px;color:#173b47}.owner-data-signal header span,.data-panel header span,.data-hero>div>span{font-size:.72rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:#52717d}.owner-data-signal p,.data-panel header p,.data-hero p{margin:0;color:#546b72}.owner-data-kpis,.data-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}.owner-data-kpis>*{display:flex;flex-direction:column;align-items:flex-start;text-align:left;border:1px solid #d2dfe1;border-radius:10px;background:#f4f8fa;padding:12px;color:#244b58}.owner-data-kpis button{cursor:pointer}.owner-data-kpis strong,.data-summary strong{font-size:1.5rem;color:#153c49}.owner-data-kpis em{font-size:.72rem;font-style:normal;color:#657b82}.owner-data-kpis .risk,.data-summary .risk,.data-batches .risk{border-color:#dda896;background:#fff4ef}.owner-data-signal footer p{display:grid;gap:3px}.owner-data-signal footer span{font-size:.8rem;color:#60777e}.data-workspace{display:grid;gap:16px;min-width:0}.data-hero{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:20px;padding:22px;background:linear-gradient(125deg,#f2f8fa,#e8f0f3)}.data-hero>div:last-child{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;border-left:1px solid #bed0d5;padding-left:22px}.data-hero>div:last-child strong{font-size:3.1rem;line-height:1;color:#9e3c28}.data-hero>div:last-child span{margin:5px 0 13px;color:#536d76}.data-status-line{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.data-status-line span{border:1px solid #c2d3d8;border-radius:999px;background:#fff;padding:5px 9px;font-size:.72rem}.data-summary{grid-template-columns:repeat(5,minmax(0,1fr));margin:0}.data-summary article{display:flex;flex-direction:column;gap:3px;border:1px solid #d2dfe2;border-radius:11px;padding:13px;background:#f7fafb}.data-summary span{font-size:.72rem;text-transform:uppercase;font-weight:850;color:#60777f}.data-summary small{color:#6a7f86}.data-panel{padding:17px;min-width:0}.data-lifecycle{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:7px;list-style:none;padding:0;counter-reset:datastep;margin:15px 0 0}.data-lifecycle li{position:relative;border:1px solid #c7d7db;background:#f5f9fa;border-radius:8px;padding:9px 6px 9px 30px;font-size:.7rem;font-weight:750}.data-lifecycle li:before{counter-increment:datastep;content:counter(datastep);position:absolute;left:7px;top:7px;width:17px;height:17px;display:grid;place-items:center;border-radius:50%;background:#356d83;color:#fff;font-size:.62rem}.data-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;min-width:0}.data-batches,.data-exceptions,.data-lineage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.data-batches article,.data-lineage article,.data-exception{display:flex;flex-direction:column;gap:4px;border:1px solid #d3dfe1;border-radius:9px;padding:10px;background:#f7fafb}.data-batches small,.data-lineage small,.data-exception small{color:#687d83}.data-funnel{display:grid;gap:7px;margin-top:12px}.data-funnel article{display:flex;justify-content:space-between;align-items:center;width:var(--funnel);min-width:180px;border-radius:7px;background:#dcebf0;padding:8px 10px;color:#254f5f}.data-table-wrap{max-width:100%;overflow:auto;border:1px solid #d1dfe2;border-radius:10px;margin-top:12px}.data-table{width:100%;min-width:1080px;border-collapse:separate;border-spacing:0;font-size:.75rem}.data-table th,.data-table td{padding:9px;border-bottom:1px solid #e0e8ea;text-align:left;vertical-align:top;background:#fff}.data-table thead th{position:sticky;top:0;z-index:2;background:#e8f1f3;color:#355b67}.data-table th:first-child{position:sticky;left:0;z-index:1;min-width:160px}.data-table thead th:first-child{z-index:3}.data-table small{display:block;margin-top:4px;color:#6c8086}.data-exception header,.data-scenario header{display:flex;align-items:flex-start;justify-content:space-between;gap:7px}.data-exception p,.data-scenario p{margin:3px 0;color:#586f76;font-size:.77rem}.data-exception em{font-style:normal;font-weight:850;color:#983e2a}.data-scenarios{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.data-scenario{border:1px solid #d1dfe2;border-top:4px solid #356d83;border-radius:11px;padding:13px}.data-scenario h4{margin:3px 0}.data-scenario-deltas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:10px 0}.data-scenario-deltas span{display:flex;flex-direction:column;background:#f1f6f8;border-radius:7px;padding:7px;font-size:.68rem}.data-scenario dl{border-top:1px solid #d6e1e4;margin-top:9px;padding-top:9px}.data-scenario dl div{display:grid;grid-template-columns:130px 1fr;gap:8px;margin:4px 0}.data-scenario dt{font-size:.7rem;font-weight:800;color:#587078}.data-scenario dd{margin:0;font-size:.75rem}.data-proof-tabs{display:flex;gap:6px;overflow:auto;padding:11px 0}.data-proof-tabs button{white-space:nowrap;border:1px solid #c7d7db;border-radius:999px;background:#fff;padding:6px 10px;text-transform:capitalize;color:#3c6370;cursor:pointer}.data-proof-tabs button[aria-selected=true]{background:#356d83;border-color:#356d83;color:#fff}.data-drawer{width:min(760px,94vw)}
@media(max-width:680px){.topbar-title{width:100%;align-items:flex-start}.topbar h1{flex:1;white-space:normal!important;overflow-wrap:anywhere;font-size:18px!important}#view:has(.data-workspace){box-sizing:border-box!important;width:100dvw!important;max-width:100dvw!important;padding-left:12px!important;padding-right:12px!important}.data-workspace,.data-workspace>*{box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;overflow:hidden}.data-hero>div{box-sizing:border-box!important;width:calc(100dvw - 50px)!important;max-width:calc(100dvw - 50px)!important;min-width:0!important;overflow:hidden}.data-panel>header>div,.data-status-line{box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;overflow:hidden}.data-workspace h2,.data-workspace h3,.data-workspace h4,.data-workspace p,.data-workspace span,.data-workspace small{max-width:100%;white-space:normal!important;overflow-wrap:anywhere}.owner-data-signal>header,.owner-data-signal>footer,.data-panel>header{flex-direction:column}.owner-data-kpis,.data-summary,.data-hero,.data-grid,.data-batches,.data-exceptions,.data-lineage,.data-scenarios{grid-template-columns:minmax(0,1fr)}.data-hero>div:last-child{border-left:0;border-top:1px solid #c5d5d9;padding:14px 0 0}.data-lifecycle{grid-template-columns:minmax(0,1fr)}.data-panel,.data-hero,.owner-data-signal{box-sizing:border-box;width:100%;max-width:100%;min-width:0;padding:13px}.data-scenario-deltas{grid-template-columns:repeat(2,minmax(0,1fr))}.data-drawer{width:100dvw;max-width:100dvw}.data-table{min-width:980px}}
@media(max-width:420px){body:has(.data-workspace),body:has(.data-workspace) .app-shell,body:has(.data-workspace) .content{box-sizing:border-box!important;width:100dvw!important;max-width:100dvw!important;min-width:0!important;overflow-x:hidden!important}.data-hero>div:first-child>p,.data-hero>div:first-child>.data-status-line{box-sizing:border-box!important;width:300px!important;max-width:300px!important}.data-hero>div:first-child>p{white-space:pre-line!important}.data-status-line{flex-wrap:wrap!important}.data-status-line:before{content:"";flex-basis:100%;height:0;order:2}.data-status-line span:nth-child(1){order:0}.data-status-line span:nth-child(2){order:1}.data-status-line span:nth-child(3){order:3}.data-status-line span:nth-child(4){order:4}}
@media(max-width:680px){.data-hero>div:first-child>p{white-space:pre-line!important}.data-status-line:before{content:"";flex-basis:100%;height:0;order:2}.data-status-line span:nth-child(1){order:0}.data-status-line span:nth-child(2){order:1}.data-status-line span:nth-child(3){order:3}.data-status-line span:nth-child(4){order:4}}

/* Identity, access and approval governance */
.owner-identity-signal,.identity-hero,.identity-panel{background:#fff;border:1px solid #d4d5e2;border-radius:14px;box-shadow:0 8px 25px rgba(39,37,70,.07)}.owner-identity-signal{padding:18px;margin:18px 0;border-left:5px solid #625592}.owner-identity-signal>header,.owner-identity-signal>footer,.identity-panel>header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.owner-identity-signal h2,.identity-panel h3,.identity-hero h2{margin:3px 0 6px;color:#29254c}.owner-identity-signal header span,.identity-panel header span,.identity-hero>div>span{font-size:.72rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:#696184}.owner-identity-signal p,.identity-panel header p,.identity-hero p{margin:0;color:#625f73}.owner-identity-kpis,.identity-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}.owner-identity-kpis>*{display:flex;flex-direction:column;align-items:flex-start;text-align:left;border:1px solid #dbdae6;border-radius:10px;background:#f7f6fa;padding:12px;color:#39345c}.owner-identity-kpis button{cursor:pointer}.owner-identity-kpis strong,.identity-summary strong{font-size:1.5rem;color:#302957}.owner-identity-kpis em{font-size:.72rem;font-style:normal;color:#726d83}.owner-identity-kpis .risk,.identity-summary .risk{border-color:#e0ad9d;background:#fff5f1}.owner-identity-signal footer p{display:grid;gap:3px}.owner-identity-signal footer span{font-size:.8rem}.identity-workspace{display:grid;gap:16px;min-width:0}.identity-hero{display:grid;grid-template-columns:minmax(0,1fr) 245px;gap:20px;padding:22px;background:linear-gradient(125deg,#f7f6fb,#eceaf5)}.identity-hero>div>div{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.identity-hero>div>div span{border:1px solid #d2d0df;border-radius:999px;background:#fff;padding:5px 9px;font-size:.72rem}.identity-hero>aside{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;border-left:1px solid #cbc7dc;padding-left:22px}.identity-hero>aside strong{font-size:3.1rem;line-height:1;color:#a23e2a}.identity-hero>aside span{margin:5px 0 13px;color:#625d78}.identity-summary{grid-template-columns:repeat(5,minmax(0,1fr));margin:0}.identity-summary article{display:flex;flex-direction:column;gap:3px;border:1px solid #dbd9e5;border-radius:11px;padding:13px;background:#faf9fc}.identity-summary span{font-size:.72rem;text-transform:uppercase;font-weight:850;color:#706a85}.identity-summary small{color:#777286}.identity-panel{padding:17px;min-width:0}.identity-lifecycle{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:7px;list-style:none;padding:0;counter-reset:idstep;margin:15px 0 0}.identity-lifecycle li{position:relative;border:1px solid #d4d1e1;background:#f8f7fb;border-radius:8px;padding:9px 6px 9px 30px;font-size:.7rem;font-weight:750}.identity-lifecycle li:before{counter-increment:idstep;content:counter(idstep);position:absolute;left:7px;top:7px;width:17px;height:17px;display:grid;place-items:center;border-radius:50%;background:#645994;color:#fff;font-size:.62rem}.identity-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:16px;min-width:0}.identity-table-wrap{max-width:100%;overflow:auto;border:1px solid #dad9e5;border-radius:10px;margin-top:12px}.identity-table{width:100%;min-width:980px;border-collapse:separate;border-spacing:0;font-size:.75rem}.identity-table th,.identity-table td{padding:9px;border-bottom:1px solid #e6e4ec;text-align:left;vertical-align:top;background:#fff}.identity-table thead th{position:sticky;top:0;z-index:2;background:#efedf5}.identity-table th:first-child{position:sticky;left:0;z-index:1;min-width:190px}.identity-table thead th:first-child{z-index:3}.identity-table small{display:block;color:#777286}.identity-exceptions,.identity-decisions{display:grid;gap:8px;margin-top:12px}.identity-exception,.identity-decisions article{display:flex;flex-direction:column;gap:4px;border:1px solid #dcdae6;border-radius:9px;padding:10px;background:#faf9fc}.identity-exception header{display:flex;justify-content:space-between;gap:8px}.identity-exception p,.identity-decisions small{margin:0;color:#6b677a;font-size:.75rem}.identity-decisions article.risk{border-color:#dfa997;background:#fff5f1}.identity-workflows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:12px}.identity-workflow{border:1px solid #d9d7e4;border-radius:10px;padding:12px}.identity-workflow header{display:flex;justify-content:space-between;gap:8px}.identity-workflow p{color:#686478;font-size:.77rem}.identity-workflow ol{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px;list-style:none;padding:0}.identity-workflow li{border:1px solid #dddbe6;border-radius:7px;padding:6px;font-size:.67rem}.identity-workflow li.done{background:#edf8f1;border-color:#a9cbb3}.identity-workflow li.blocked{background:#fff1ec;border-color:#e2ad9c}.identity-workflow small{color:#767184}.identity-scenarios{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.identity-scenario{border:1px solid #d8d6e3;border-top:4px solid #645994;border-radius:11px;padding:13px}.identity-scenario header{display:flex;justify-content:space-between;gap:8px}.identity-scenario h4{margin:3px 0}.identity-scenario>p{color:#686478;font-size:.77rem}.identity-scenario>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:9px 0}.identity-scenario>div span{display:flex;flex-direction:column;background:#f6f5f9;padding:7px;border-radius:7px;font-size:.68rem}.identity-scenario dl div{display:grid;grid-template-columns:120px 1fr;gap:8px;margin:4px}.identity-scenario dt{font-size:.7rem;font-weight:800}.identity-scenario dd{margin:0;font-size:.75rem}.identity-proof-tabs{display:flex;gap:6px;overflow:auto;padding:11px 0}.identity-proof-tabs button{white-space:nowrap;border:1px solid #d1cfe0;border-radius:999px;background:#fff;padding:6px 10px;text-transform:capitalize;color:#554d7a;cursor:pointer}.identity-proof-tabs button[aria-selected=true]{background:#645994;border-color:#645994;color:#fff}.identity-drawer{width:min(760px,94vw)}
@media(max-width:1050px){.identity-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.identity-grid{grid-template-columns:1fr}.identity-lifecycle{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:680px){#view:has(.identity-workspace){box-sizing:border-box!important;width:100dvw!important;max-width:100dvw!important;padding:12px!important}.identity-workspace,.identity-workspace>*{box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;overflow:hidden}.identity-hero>div,.identity-hero>aside{box-sizing:border-box!important;width:calc(100dvw - 50px)!important;max-width:calc(100dvw - 50px)!important;min-width:0!important;overflow:hidden}.identity-hero h2,.identity-hero p{box-sizing:border-box!important;width:300px!important;max-width:300px!important;white-space:normal!important}.identity-workspace h2,.identity-workspace h3,.identity-workspace h4,.identity-workspace p,.identity-workspace span,.identity-workspace small{max-width:100%;white-space:normal!important;overflow-wrap:anywhere}.owner-identity-signal>header,.owner-identity-signal>footer,.identity-panel>header{flex-direction:column}.owner-identity-kpis,.identity-summary,.identity-hero,.identity-grid,.identity-workflows,.identity-scenarios{grid-template-columns:minmax(0,1fr)}.identity-hero>aside{border-left:0;border-top:1px solid #d2cfdf;padding:14px 0 0}.identity-lifecycle{grid-template-columns:minmax(0,1fr)}.identity-panel,.identity-hero,.owner-identity-signal{box-sizing:border-box;width:100%;max-width:100%;min-width:0;padding:13px}.identity-workflow ol{grid-template-columns:minmax(0,1fr)}.identity-scenario>div{grid-template-columns:repeat(2,minmax(0,1fr))}.identity-drawer{width:100dvw;max-width:100dvw}.identity-table{min-width:900px}}

.owner-connector-signal,.connector-hero,.connector-panel{background:#fff;border:1px solid #cfdadd;border-radius:14px;box-shadow:0 8px 25px rgba(24,57,65,.07)}.owner-connector-signal{padding:18px;margin:18px 0;border-left:5px solid #197386}.owner-connector-signal>header,.owner-connector-signal>footer,.connector-panel>header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.owner-connector-signal h2,.connector-panel h3,.connector-hero h2{margin:3px 0 6px;color:#183e48}.owner-connector-signal header span,.connector-panel header span,.connector-hero>div>span{font-size:.72rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:#39717d}.owner-connector-signal p,.connector-panel header p,.connector-hero p{margin:0;color:#5d6d72}.owner-connector-kpis,.connector-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}.owner-connector-kpis>*{display:flex;flex-direction:column;align-items:flex-start;text-align:left;border:1px solid #d5e0e2;border-radius:10px;background:#f4f9fa;padding:12px;color:#214a54}.owner-connector-kpis button{cursor:pointer}.owner-connector-kpis strong,.connector-summary strong{font-size:1.5rem;color:#174753}.owner-connector-kpis em{font-size:.72rem;font-style:normal;color:#65777c}.owner-connector-kpis .risk,.connector-summary .risk{border-color:#e0ad9d;background:#fff5f1}.owner-connector-signal footer p{display:grid;gap:3px}.owner-connector-signal footer span{font-size:.8rem}.connector-workspace{display:grid;gap:16px;min-width:0}.connector-hero{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:20px;padding:22px;background:linear-gradient(125deg,#f3fafb,#e2f0f2)}.connector-hero>div>div{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.connector-hero>div>div span{border:1px solid #bdd3d7;border-radius:999px;background:#fff;padding:5px 9px;font-size:.72rem}.connector-hero>aside{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;border-left:1px solid #b8d1d5;padding-left:22px}.connector-hero>aside strong{font-size:3.1rem;line-height:1;color:#a23e2a}.connector-hero>aside span{margin:5px 0 13px;color:#526e74}.connector-summary{margin:0}.connector-summary article{display:flex;flex-direction:column;gap:3px;border:1px solid #d4e0e2;border-radius:11px;padding:13px;background:#f8fbfb}.connector-summary span{font-size:.72rem;text-transform:uppercase;font-weight:850;color:#52747b}.connector-summary small{color:#6a797d}.connector-panel{padding:17px;min-width:0}.connector-flow{display:grid;grid-template-columns:repeat(13,minmax(80px,1fr));gap:6px;list-style:none;padding:0;overflow:auto;margin:15px 0 0}.connector-flow li{display:flex;flex-direction:column;gap:5px;min-width:92px;border:1px solid #cbdcdf;border-radius:8px;padding:8px;font-size:.68rem;background:#f5fafb}.connector-flow b{display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:#197386;color:#fff}.connector-table-wrap{max-width:100%;overflow:auto;border:1px solid #d2dfe1;border-radius:10px;margin-top:12px}.connector-table{width:100%;min-width:1120px;border-collapse:separate;border-spacing:0;font-size:.74rem}.connector-table th,.connector-table td{padding:9px;border-bottom:1px solid #e2e9ea;text-align:left;vertical-align:top;background:#fff}.connector-table thead th{position:sticky;top:0;z-index:2;background:#e8f2f3}.connector-table th:first-child{position:sticky;left:0;z-index:1;min-width:210px}.connector-table thead th:first-child{z-index:3}.connector-table small{display:block;color:#6d7b7f}.connector-state{white-space:nowrap;border:1px solid #bdd2d6;border-radius:999px;padding:3px 7px;background:#f1f8f9}.connector-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:13px}.connector-card-grid>article{border:1px solid #d4e0e2;border-radius:10px;padding:11px}.connector-card-grid>article>header{display:flex;justify-content:space-between;gap:10px}.connector-card-grid>article>small{display:block;margin-top:8px;color:#65767a}.connector-gates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-top:8px}.connector-gates span{display:flex;flex-direction:column;border-radius:6px;padding:5px;font-size:.62rem;background:#f2f4f4;color:#52656a}.connector-gates span b{font-size:.57rem;text-transform:uppercase}.connector-gates .pass{background:#eaf7ef;color:#25613d}.connector-gates .fail{background:#fff0eb;color:#9a3e2b}.connector-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:16px;min-width:0}.connector-simulations,.connector-dead,.connector-approvals{display:grid;gap:8px;margin-top:12px}.connector-simulation,.connector-dead article,.connector-approvals article{border:1px solid #d7e2e3;border-radius:9px;padding:10px;background:#f8fbfb}.connector-simulation.risk{border-color:#e0ad9d;background:#fff5f1}.connector-simulation header{display:flex;justify-content:space-between;gap:8px}.connector-simulation p{margin:5px 0;font-size:.74rem;color:#617377}.connector-simulation>div{display:flex;flex-wrap:wrap;gap:5px}.connector-simulation>div span{font-size:.65rem;background:#edf4f5;padding:4px 6px;border-radius:5px}.connector-simulation small,.connector-dead small,.connector-approvals small{display:block;color:#6d797c;margin-top:5px}.connector-dead article,.connector-approvals article{display:flex;flex-direction:column;gap:3px}.connector-subhead{margin-top:20px}.connector-scenarios{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.connector-scenario{border:1px solid #cddcdf;border-top:4px solid #197386;border-radius:11px;padding:13px}.connector-scenario header{display:flex;flex-direction:column;gap:3px}.connector-scenario header span{font-size:.62rem;font-weight:850;color:#197386}.connector-scenario p{color:#617276;font-size:.77rem}.connector-scenario>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.connector-scenario>div span{display:flex;flex-direction:column;background:#f2f7f8;padding:7px;border-radius:7px;font-size:.68rem}.connector-scenario dl div{display:grid;grid-template-columns:110px 1fr;gap:8px;margin:4px}.connector-scenario dt{font-size:.7rem;font-weight:800}.connector-scenario dd{margin:0;font-size:.74rem}.connector-proof-tabs{display:flex;gap:6px;overflow:auto;padding:11px 0}.connector-proof-tabs button{white-space:nowrap;border:1px solid #c7dadd;border-radius:999px;background:#fff;padding:6px 10px;text-transform:capitalize;color:#26616d;cursor:pointer}.connector-proof-tabs button[aria-selected=true]{background:#197386;border-color:#197386;color:#fff}.connector-drawer{width:min(780px,94vw)}
@media(max-width:680px){#view:has(.connector-workspace){box-sizing:border-box!important;width:100dvw!important;max-width:100dvw!important;padding:12px!important}.connector-workspace,.connector-workspace>*{box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;overflow:hidden}.connector-hero>div,.connector-hero>aside{box-sizing:border-box!important;width:calc(100dvw - 50px)!important;max-width:calc(100dvw - 50px)!important;min-width:0!important;overflow:hidden}.connector-hero h2,.connector-hero p{box-sizing:border-box!important;width:300px!important;max-width:300px!important;white-space:normal!important}.connector-workspace h2,.connector-workspace h3,.connector-workspace p,.connector-workspace span,.connector-workspace small{max-width:100%;white-space:normal!important;overflow-wrap:anywhere}.owner-connector-signal>header,.owner-connector-signal>footer,.connector-panel>header{flex-direction:column}.owner-connector-kpis,.connector-summary,.connector-hero,.connector-grid,.connector-card-grid,.connector-scenarios{grid-template-columns:minmax(0,1fr)}.connector-hero>aside{border-left:0;border-top:1px solid #bdd2d5;padding:14px 0 0}.connector-panel,.connector-hero,.owner-connector-signal{box-sizing:border-box;width:100%;max-width:100%;min-width:0;padding:13px}.connector-gates{grid-template-columns:repeat(2,minmax(0,1fr))}.connector-drawer{width:100dvw;max-width:100dvw}.connector-table{min-width:1050px}.connector-scenario>div{grid-template-columns:repeat(2,minmax(0,1fr))}}

.owner-tenant-signal,.tenant-hero,.tenant-panel{background:#fff;border:1px solid #d5d5df;border-radius:14px;box-shadow:0 8px 25px rgba(53,45,83,.07)}.owner-tenant-signal{padding:18px;margin:18px 0;border-left:5px solid #5c4f91}.owner-tenant-signal>header,.owner-tenant-signal>footer,.tenant-panel>header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.owner-tenant-signal h2,.tenant-panel h3,.tenant-hero h2{margin:3px 0 6px;color:#302956}.owner-tenant-signal header span,.tenant-panel header span,.tenant-hero>div>span{font-size:.72rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase;color:#675d8a}.owner-tenant-signal p,.tenant-panel header p,.tenant-hero p{margin:0;color:#686477}.owner-tenant-kpis,.tenant-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}.owner-tenant-kpis>*{display:flex;flex-direction:column;align-items:flex-start;text-align:left;border:1px solid #dddbe6;border-radius:10px;background:#f8f7fb;padding:12px;color:#3c365d}.owner-tenant-kpis button{cursor:pointer}.owner-tenant-kpis strong,.tenant-summary strong{font-size:1.5rem;color:#362e65}.owner-tenant-kpis em{font-size:.72rem;font-style:normal;color:#716d80}.owner-tenant-kpis .risk,.tenant-summary .risk{border-color:#e0ad9d;background:#fff5f1}.owner-tenant-signal footer p{display:grid;gap:3px}.owner-tenant-signal footer span{font-size:.8rem}.tenant-workspace{display:grid;gap:16px;min-width:0}.tenant-hero{display:grid;grid-template-columns:minmax(0,1fr) 255px;gap:20px;padding:22px;background:linear-gradient(125deg,#f7f6fb,#eceaf6)}.tenant-hero>div>div{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.tenant-hero>div>div span{border:1px solid #d2cee2;border-radius:999px;background:#fff;padding:5px 9px;font-size:.72rem}.tenant-hero>aside{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;border-left:1px solid #cbc6de;padding-left:22px}.tenant-hero>aside strong{font-size:3.1rem;line-height:1;color:#a23e2a}.tenant-hero>aside span{margin:5px 0 13px;color:#625d77}.tenant-summary{grid-template-columns:repeat(5,minmax(0,1fr));margin:0}.tenant-summary article{display:flex;flex-direction:column;gap:3px;border:1px solid #dcd9e6;border-radius:11px;padding:13px;background:#faf9fc}.tenant-summary span{font-size:.7rem;text-transform:uppercase;font-weight:850;color:#6d6684}.tenant-summary small{color:#777283}.tenant-panel{padding:17px;min-width:0}.tenant-hierarchy{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.tenant-hierarchy>article{border:1px solid #d9d6e5;border-radius:11px;padding:13px;background:#faf9fc}.tenant-hierarchy>article.risk{border-color:#dfa997;background:#fff5f1}.tenant-hierarchy header{display:flex;justify-content:space-between;gap:10px}.tenant-hierarchy p{font-size:.75rem;color:#6f6a7e}.tenant-hierarchy dl div{display:grid;grid-template-columns:110px 1fr;gap:8px;margin:4px}.tenant-hierarchy dt{font-size:.69rem;font-weight:800}.tenant-hierarchy dd{margin:0;font-size:.74rem}.tenant-hierarchy>article>div{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}.tenant-hierarchy>article>div span{font-size:.65rem;border:1px solid #d6d2e3;border-radius:6px;padding:5px;background:#fff}.tenant-gates{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:12px}.tenant-gates span{display:flex;flex-direction:column;border-radius:7px;padding:8px;font-size:.68rem;background:#f2f2f5;color:#5e5a69}.tenant-gates span b{font-size:.6rem;text-transform:uppercase}.tenant-gates .pass{background:#eaf7ef;color:#285f3e}.tenant-gates .fail{background:#fff0eb;color:#963c2a}.tenant-table-wrap{max-width:100%;overflow:auto;border:1px solid #dad8e4;border-radius:10px;margin-top:12px}.tenant-table{width:100%;min-width:1080px;border-collapse:separate;border-spacing:0;font-size:.74rem}.tenant-table th,.tenant-table td{padding:9px;border-bottom:1px solid #e7e5ec;text-align:left;vertical-align:top;background:#fff}.tenant-table thead th{position:sticky;top:0;z-index:2;background:#efedf5}.tenant-table th:first-child{position:sticky;left:0;z-index:1;min-width:205px}.tenant-table thead th:first-child{z-index:3}.tenant-table small{display:block;color:#777283}.tenant-state{display:inline-block;border-radius:999px;padding:3px 7px;font-size:.66rem}.tenant-state.pass{background:#eaf7ef;color:#285f3e}.tenant-state.fail{background:#fff0eb;color:#963c2a}.tenant-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-width:0}.tenant-review-list,.tenant-denials,.tenant-connectors,.tenant-requests,.tenant-timeline{display:grid;gap:7px;margin-top:12px}.tenant-review-list article,.tenant-denials article,.tenant-connectors article,.tenant-requests article,.tenant-timeline article{display:flex;flex-direction:column;gap:3px;border:1px solid #dcdae6;border-radius:8px;padding:9px;background:#faf9fc}.tenant-review-list article.risk,.tenant-denials article.risk{border-color:#dfaa99;background:#fff5f1}.tenant-review-list small,.tenant-denials small,.tenant-connectors small,.tenant-requests small,.tenant-timeline small{color:#777283}.tenant-subhead{margin-top:20px}.tenant-scenarios{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.tenant-scenario{border:1px solid #d8d5e4;border-top:4px solid #5c4f91;border-radius:11px;padding:13px}.tenant-scenario header{display:flex;flex-direction:column;gap:3px}.tenant-scenario header span{font-size:.62rem;font-weight:850;color:#5c4f91}.tenant-scenario p{font-size:.77rem;color:#696477}.tenant-scenario>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.tenant-scenario>div span{display:flex;flex-direction:column;background:#f5f4f9;padding:7px;border-radius:7px;font-size:.66rem}.tenant-scenario dl div{display:grid;grid-template-columns:105px 1fr;gap:8px;margin:4px}.tenant-scenario dt{font-size:.7rem;font-weight:800}.tenant-scenario dd{margin:0;font-size:.74rem}.tenant-proof-tabs{display:flex;gap:6px;overflow:auto;padding:11px 0}.tenant-proof-tabs button{white-space:nowrap;border:1px solid #d0cde0;border-radius:999px;background:#fff;padding:6px 10px;text-transform:capitalize;color:#554c7a;cursor:pointer}.tenant-proof-tabs button[aria-selected=true]{background:#5c4f91;border-color:#5c4f91;color:#fff}.tenant-drawer{width:min(780px,94vw)}
@media(max-width:680px){body:has(.tenant-workspace) .topbar{box-sizing:border-box;width:100dvw;max-width:100dvw;overflow:hidden;align-items:flex-start}body:has(.tenant-workspace) .topbar-title{min-width:0;max-width:100%}body:has(.tenant-workspace) .topbar-title h1{font-size:1rem;line-height:1.15;max-width:250px;white-space:normal;overflow-wrap:anywhere}body:has(.tenant-workspace) .topbar-actions{box-sizing:border-box;width:100%;max-width:100%;overflow:hidden}body:has(.tenant-workspace) .page-actions{box-sizing:border-box;width:100%;max-width:100%;overflow-x:auto}.tenant-workspace,.tenant-workspace>*{box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;overflow:hidden}#view:has(.tenant-workspace){box-sizing:border-box!important;width:100dvw!important;max-width:100dvw!important;padding:12px!important}.tenant-hero>div,.tenant-hero>aside{box-sizing:border-box!important;width:calc(100dvw - 50px)!important;max-width:calc(100dvw - 50px)!important;min-width:0!important;overflow:hidden}.tenant-hero h2,.tenant-hero p{box-sizing:border-box!important;width:300px!important;max-width:300px!important;white-space:normal!important}.tenant-workspace h2,.tenant-workspace h3,.tenant-workspace p,.tenant-workspace span,.tenant-workspace small{max-width:100%;white-space:normal!important;overflow-wrap:anywhere}.owner-tenant-signal>header,.owner-tenant-signal>footer,.tenant-panel>header{flex-direction:column}.owner-tenant-kpis,.tenant-summary,.tenant-hero,.tenant-grid,.tenant-hierarchy,.tenant-scenarios{grid-template-columns:minmax(0,1fr)}.tenant-hero>aside{border-left:0;border-top:1px solid #d1cde0;padding:14px 0 0}.tenant-panel,.tenant-hero,.owner-tenant-signal{box-sizing:border-box;width:100%;max-width:100%;min-width:0;padding:13px}.tenant-gates{grid-template-columns:repeat(2,minmax(0,1fr))}.tenant-scenario>div{grid-template-columns:repeat(2,minmax(0,1fr))}.tenant-drawer{width:100dvw;max-width:100dvw}.tenant-table{min-width:1000px}}
/* Governed Reporting & Distribution */
.owner-reporting-signal,.reporting-panel,.reporting-hero,.reporting-summary{border:1px solid color-mix(in srgb,var(--border) 82%,#7667d8);background:linear-gradient(145deg,color-mix(in srgb,var(--panel) 96%,#7667d8),var(--panel));border-radius:16px;box-shadow:var(--shadow-sm)}
.owner-reporting-signal{padding:20px;margin:18px 0}.owner-reporting-signal>header,.owner-reporting-signal>footer,.reporting-panel>header,.reporting-card-grid article>header,.reporting-card-grid article>footer,.reporting-scenario header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.owner-reporting-signal h2,.reporting-hero h2,.reporting-panel h3{margin:4px 0 6px}.owner-reporting-signal header span,.reporting-hero>div>span,.reporting-panel header span,.reporting-scenario header span{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#7667d8}.owner-reporting-signal p,.reporting-panel p{margin:0;color:var(--muted)}
.owner-reporting-kpis,.reporting-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}.owner-reporting-kpis>*{text-align:left;border:1px solid var(--border);background:var(--panel-raised);border-radius:12px;padding:14px;color:inherit}.owner-reporting-kpis span,.reporting-summary span{display:block;color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.owner-reporting-kpis strong,.reporting-summary strong{display:block;font-size:1.55rem;margin:6px 0}.owner-reporting-kpis em,.reporting-summary small{font-style:normal;color:var(--muted);font-size:.78rem}.owner-reporting-kpis .risk,.reporting-summary .risk{border-color:color-mix(in srgb,var(--danger) 45%,var(--border));background:color-mix(in srgb,var(--danger) 7%,var(--panel-raised))}.owner-reporting-signal>footer{align-items:center;border-top:1px solid var(--border);padding-top:14px}.owner-reporting-signal>footer p{display:grid;gap:4px;max-width:78ch}
.reporting-workspace{display:grid;gap:16px;box-sizing:border-box;width:100%;max-width:100%;min-width:0;contain:inline-size}.reporting-workspace>*{box-sizing:border-box;max-width:100%;min-width:0}.reporting-hero{padding:24px;display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:20px}.reporting-hero>div,.reporting-hero>aside{min-width:0}.reporting-hero>div>div{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.reporting-hero>div>div span{border:1px solid var(--border);border-radius:999px;padding:5px 9px;font-size:.74rem}.reporting-hero aside{display:grid;align-content:center;gap:8px;padding:18px;border-radius:14px;background:color-mix(in srgb,#7667d8 9%,var(--panel-raised));text-align:center}.reporting-hero aside strong{font-size:2.8rem}.reporting-hero aside span{color:var(--muted)}.reporting-summary{padding:12px}.reporting-summary article{padding:8px 12px;border-right:1px solid var(--border)}.reporting-summary article:last-child{border-right:0}
.reporting-panel{padding:18px}.reporting-flow{list-style:none;padding:0;margin:16px 0 0;display:grid;grid-template-columns:repeat(12,minmax(88px,1fr));gap:6px;overflow-x:auto}.reporting-flow li{display:grid;gap:6px;min-height:74px;padding:10px;border-radius:10px;background:var(--panel-raised);border:1px solid var(--border);font-size:.75rem}.reporting-flow b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#7667d8;color:white}.reporting-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:15px}.reporting-card-grid>article{border:1px solid var(--border);border-left:4px solid var(--danger);border-radius:12px;padding:14px;background:var(--panel-raised)}.reporting-card-grid>article.ready{border-left-color:var(--success)}.reporting-card-grid header span{font-size:.74rem;font-weight:700;color:var(--muted);text-transform:uppercase}.reporting-card-grid header small{display:block;color:var(--muted);margin-top:4px}.reporting-card-grid footer{margin-top:10px;color:var(--muted);font-size:.72rem}.reporting-gates{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-top:11px}.reporting-gates span{display:grid;gap:2px;padding:6px;border-radius:7px;background:color-mix(in srgb,var(--danger) 8%,var(--panel));font-size:.65rem;text-transform:capitalize}.reporting-gates span.pass{background:color-mix(in srgb,var(--success) 8%,var(--panel))}.reporting-gates b{font-size:.6rem;text-transform:uppercase;color:var(--danger)}.reporting-gates .pass b{color:var(--success)}
.reporting-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.reporting-reconcile,.reporting-audiences,.reporting-approvals,.reporting-packages{display:grid;gap:8px;margin-top:14px}.reporting-reconcile article,.reporting-audiences article,.reporting-approvals article,.reporting-packages article{display:grid;gap:4px;padding:11px;border-radius:9px;border:1px solid var(--border);border-left:3px solid var(--success);background:var(--panel-raised)}.reporting-reconcile article.risk,.reporting-audiences article.risk,.reporting-packages article.risk{border-left-color:var(--danger)}.reporting-reconcile small,.reporting-audiences small,.reporting-approvals small,.reporting-packages small{color:var(--muted)}.reporting-scenarios{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.reporting-scenario{border:1px solid var(--border);border-radius:12px;padding:14px;background:var(--panel-raised)}.reporting-scenario header{display:grid;gap:3px}.reporting-scenario dl{display:grid;grid-template-columns:1fr 1fr;gap:8px}.reporting-scenario dl div{padding:8px;border-radius:8px;background:var(--panel)}.reporting-scenario dt{font-size:.68rem;color:var(--muted);text-transform:uppercase}.reporting-scenario dd{margin:3px 0 0}.reporting-scenario>small{color:var(--muted)}
.reporting-proof-tabs{display:flex;gap:6px;overflow-x:auto;padding:12px 0}.reporting-proof-tabs button{white-space:nowrap;border:1px solid var(--border);border-radius:999px;padding:7px 10px;background:var(--panel-raised);color:inherit;text-transform:capitalize}.reporting-proof-tabs button[aria-selected="true"]{background:#7667d8;color:white;border-color:#7667d8}.reporting-drawer{--drawer-accent:#7667d8}.reporting-drawer .reporting-gates{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:900px){.owner-reporting-kpis,.reporting-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.reporting-hero,.reporting-grid{grid-template-columns:1fr}.reporting-card-grid,.reporting-scenarios{grid-template-columns:1fr}.reporting-gates{grid-template-columns:repeat(2,minmax(0,1fr))}.reporting-summary article{border-right:0}}
@media(max-width:520px){.owner-reporting-signal>header,.owner-reporting-signal>footer{display:grid}.owner-reporting-kpis,.reporting-summary{grid-template-columns:1fr}.reporting-hero{padding:16px}.reporting-panel{padding:13px}.reporting-gates{grid-template-columns:1fr}.reporting-scenario dl{grid-template-columns:1fr}}
@media(max-width:680px){body:has(.reporting-workspace) .topbar{box-sizing:border-box;width:100dvw;max-width:100dvw;overflow:hidden;align-items:flex-start}body:has(.reporting-workspace) .topbar-title{min-width:0;max-width:100%}body:has(.reporting-workspace) .topbar-title h1{font-size:1rem!important;line-height:1.15;max-width:260px;white-space:normal!important;overflow-wrap:anywhere}body:has(.reporting-workspace) .topbar-actions{box-sizing:border-box;width:100%;max-width:100%;overflow:hidden}body:has(.reporting-workspace) .page-actions{box-sizing:border-box;width:100%!important;max-width:100%!important;overflow-x:auto!important}#view:has(.reporting-workspace){box-sizing:border-box!important;width:100dvw!important;max-width:100dvw!important;padding:12px!important;overflow-x:hidden!important}.reporting-workspace,.reporting-workspace>*{box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;overflow:hidden}.reporting-hero>div,.reporting-hero>aside{box-sizing:border-box!important;width:calc(100dvw - 50px)!important;max-width:calc(100dvw - 50px)!important;min-width:0!important;overflow:hidden}.reporting-hero h2,.reporting-hero p{box-sizing:border-box!important;width:300px!important;max-width:300px!important;white-space:normal!important;word-break:break-word!important}.reporting-workspace h2,.reporting-workspace h3,.reporting-workspace p,.reporting-workspace span,.reporting-workspace small{max-width:100%;white-space:normal!important;overflow-wrap:anywhere}.reporting-flow,.reporting-proof-tabs{width:100%!important;overflow-x:auto!important}.reporting-flow li{width:auto!important;min-width:82vw!important}.reporting-drawer{width:100dvw;max-width:100dvw}}

/* Hosted Tenant Isolation */
.owner-isolation-signal,.isolation-panel,.isolation-hero,.isolation-summary{border:1px solid color-mix(in srgb,var(--border) 78%,#137a73);background:linear-gradient(145deg,color-mix(in srgb,var(--panel) 96%,#137a73),var(--panel));border-radius:16px;box-shadow:var(--shadow-sm)}
.owner-isolation-signal{padding:20px;margin:18px 0}.owner-isolation-signal>header,.owner-isolation-signal>footer,.isolation-panel>header,.isolation-resource-grid article>header,.isolation-scenario header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.owner-isolation-signal h2,.isolation-hero h2,.isolation-panel h3{margin:4px 0 6px}.owner-isolation-signal header span,.isolation-hero>div>span,.isolation-panel header span,.isolation-scenario header span{font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#137a73}.owner-isolation-signal p,.isolation-panel p{margin:0;color:var(--muted)}
.owner-isolation-kpis,.isolation-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}.owner-isolation-kpis>*,.isolation-summary article{padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--panel-raised);text-align:left;color:inherit}.owner-isolation-kpis span,.isolation-summary span{display:block;color:var(--muted);font-size:.72rem;text-transform:uppercase}.owner-isolation-kpis strong,.isolation-summary strong{display:block;font-size:1.55rem;margin:6px 0}.owner-isolation-kpis em,.isolation-summary small{font-style:normal;color:var(--muted)}.owner-isolation-kpis .risk,.isolation-summary .risk{border-color:color-mix(in srgb,var(--danger) 45%,var(--border));background:color-mix(in srgb,var(--danger) 7%,var(--panel-raised))}.owner-isolation-signal>footer{align-items:center;border-top:1px solid var(--border);padding-top:14px}.owner-isolation-signal>footer p{display:grid;gap:4px;max-width:80ch}
.isolation-workspace{display:grid;gap:16px;box-sizing:border-box;width:100%;max-width:100%;min-width:0;contain:inline-size}.isolation-workspace>*{box-sizing:border-box;min-width:0;max-width:100%}.isolation-hero{padding:24px;display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:20px}.isolation-hero>div>div{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.isolation-hero>div>div span{border:1px solid var(--border);border-radius:999px;padding:5px 9px;font-size:.72rem}.isolation-hero aside{display:grid;align-content:center;gap:8px;padding:18px;border-radius:14px;background:color-mix(in srgb,#137a73 9%,var(--panel-raised));text-align:center}.isolation-hero aside strong{font-size:2.8rem}.isolation-hero aside span{color:var(--muted)}.isolation-summary{padding:12px}.isolation-panel{padding:18px}.isolation-flow{list-style:none;padding:0;margin:15px 0 0;display:grid;grid-template-columns:repeat(12,minmax(92px,1fr));gap:6px;overflow-x:auto}.isolation-flow li{display:grid;gap:6px;min-height:72px;padding:9px;border:1px solid var(--border);border-radius:9px;background:var(--panel-raised);font-size:.72rem}.isolation-flow b{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#137a73;color:white}.isolation-level{display:inline-flex!important;width:max-content;padding:4px 7px;border-radius:999px;background:color-mix(in srgb,var(--muted) 10%,var(--panel));font-size:.65rem!important;font-weight:800;text-transform:uppercase;letter-spacing:.03em}.isolation-level.application-enforced{background:color-mix(in srgb,var(--success) 13%,var(--panel));color:var(--success)}.isolation-level.missing{background:color-mix(in srgb,var(--danger) 13%,var(--panel));color:var(--danger)}.isolation-level.policy-documented,.isolation-level.simulated{background:color-mix(in srgb,var(--warning) 14%,var(--panel));color:var(--warning)}
.isolation-resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:14px}.isolation-resource-grid article{padding:12px;border:1px solid var(--border);border-left:4px solid var(--success);border-radius:11px;background:var(--panel-raised)}.isolation-resource-grid article.risk{border-left-color:var(--danger)}.isolation-resource-grid p{margin:7px 0!important}.isolation-resource-grid small{color:var(--muted)}.isolation-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.isolation-api-list,.isolation-denials,.isolation-support,.isolation-tests{display:grid;gap:8px;margin-top:14px}.isolation-api-list article,.isolation-denials article,.isolation-support article,.isolation-tests article{display:grid;gap:4px;padding:11px;border:1px solid var(--border);border-left:3px solid var(--success);border-radius:9px;background:var(--panel-raised)}.isolation-api-list article.risk,.isolation-denials article.risk,.isolation-support article.risk{border-left-color:var(--danger)}.isolation-tests article.pass{border-left-color:var(--success)}.isolation-api-list small,.isolation-denials small,.isolation-support small,.isolation-tests small{color:var(--muted)}.isolation-scenarios{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}.isolation-scenario{padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--panel-raised)}.isolation-scenario header{display:grid;gap:3px}.isolation-scenario>div{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.isolation-scenario>div b{display:grid;padding:8px;border-radius:8px;background:var(--panel);font-size:1.1rem}.isolation-scenario>div small{font-weight:400;color:var(--muted)}.isolation-scenario dl{display:grid;grid-template-columns:1fr 1fr;gap:8px}.isolation-scenario dl div{padding:8px;border-radius:8px;background:var(--panel)}.isolation-scenario dt{font-size:.68rem;color:var(--muted);text-transform:uppercase}.isolation-scenario dd{margin:3px 0 0}.isolation-proof-tabs{display:flex;gap:6px;overflow-x:auto;padding:12px 0}.isolation-proof-tabs button{white-space:nowrap;border:1px solid var(--border);border-radius:999px;padding:7px 10px;background:var(--panel-raised);color:inherit;text-transform:capitalize}.isolation-proof-tabs button[aria-selected="true"]{background:#137a73;color:white;border-color:#137a73}.isolation-drawer{--drawer-accent:#137a73}
@media(max-width:900px){.owner-isolation-kpis,.isolation-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.isolation-hero,.isolation-grid{grid-template-columns:1fr}.isolation-resource-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.isolation-scenarios{grid-template-columns:1fr}}
@media(max-width:680px){body:has(.isolation-workspace) .topbar{box-sizing:border-box;width:100dvw;max-width:100dvw;overflow:hidden;align-items:flex-start}body:has(.isolation-workspace) .topbar-title h1{font-size:1rem!important;max-width:260px;white-space:normal!important;overflow-wrap:anywhere}body:has(.isolation-workspace) .topbar-actions{box-sizing:border-box;width:100%;max-width:100%;overflow:hidden}body:has(.isolation-workspace) .page-actions{box-sizing:border-box;width:100%!important;max-width:100%!important;overflow-x:auto!important}#view:has(.isolation-workspace){box-sizing:border-box!important;width:100dvw!important;max-width:100dvw!important;padding:12px!important;overflow-x:hidden!important}.isolation-workspace,.isolation-workspace>*{box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;overflow:hidden}.isolation-hero>div,.isolation-hero>aside{width:calc(100dvw - 50px)!important;max-width:calc(100dvw - 50px)!important}.isolation-hero h2,.isolation-hero p{width:300px!important;max-width:300px!important;white-space:normal!important;word-break:break-word}.isolation-workspace h2,.isolation-workspace h3,.isolation-workspace p,.isolation-workspace span,.isolation-workspace small{white-space:normal!important;overflow-wrap:anywhere}.owner-isolation-signal>header,.owner-isolation-signal>footer,.isolation-panel>header{flex-direction:column}.owner-isolation-kpis,.isolation-summary,.isolation-resource-grid{grid-template-columns:1fr}.isolation-flow,.isolation-proof-tabs{width:100%!important;overflow-x:auto!important}.isolation-flow li{width:auto!important;min-width:82vw!important}.isolation-panel,.isolation-hero,.owner-isolation-signal{padding:13px}.isolation-drawer{width:100dvw;max-width:100dvw}.isolation-scenario dl{grid-template-columns:1fr}}
/* Hosted Data Plane & PostgreSQL RLS */
.owner-data-plane-signal,.data-plane-panel,.data-plane-hero,.data-plane-summary{border:1px solid color-mix(in srgb,var(--border) 74%,#14b8a6 26%);background:linear-gradient(145deg,color-mix(in srgb,var(--panel) 95%,#0f766e 5%),var(--panel));border-radius:18px;box-shadow:var(--shadow-sm)}
.owner-data-plane-signal{padding:20px;margin:18px 0}.owner-data-plane-signal>header,.owner-data-plane-signal>footer,.data-plane-panel>header,.data-plane-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.owner-data-plane-signal h2,.data-plane-hero h2,.data-plane-panel h3{margin:4px 0}.owner-data-plane-signal header span,.data-plane-hero>div>span,.data-plane-panel header span{font-size:11px;font-weight:800;letter-spacing:.09em;color:#0f766e}.owner-data-plane-kpis,.data-plane-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}.owner-data-plane-kpis>*{text-align:left;border:1px solid var(--border);background:var(--surface);border-radius:13px;padding:13px;color:inherit}.owner-data-plane-kpis span,.owner-data-plane-kpis em,.data-plane-summary span,.data-plane-summary small{display:block}.owner-data-plane-kpis strong,.data-plane-summary strong{display:block;font-size:24px;margin:5px 0}.owner-data-plane-kpis em{font-size:11px;font-style:normal;color:var(--muted)}.owner-data-plane-kpis .risk,.data-plane-summary .risk{border-left:4px solid #d97706}.owner-data-plane-signal footer p{display:grid;gap:4px;margin:0;max-width:850px}.data-plane-workspace{display:grid;gap:16px;min-width:0;max-width:100%;overflow:hidden}.data-plane-workspace>*{min-width:0}.data-plane-hero{padding:26px;background:linear-gradient(128deg,#082f49,#0f766e 68%,#115e59);color:#fff}.data-plane-hero>div{max-width:900px;min-width:0}.data-plane-hero>div>span{color:#99f6e4}.data-plane-hero>div>div{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.data-plane-hero>div>div span{padding:5px 9px;border:1px solid #ffffff42;border-radius:999px;font-size:11px}.data-plane-hero aside{min-width:170px;text-align:right}.data-plane-hero aside strong{display:block;font-size:48px}.data-plane-hero aside span{display:block;margin-bottom:14px}.data-plane-summary{grid-template-columns:repeat(5,minmax(0,1fr));padding:12px;margin:0}.data-plane-summary article{padding:10px;min-width:0}.data-plane-summary small{color:var(--muted);margin-top:4px}.data-plane-panel{padding:18px;min-width:0}.data-plane-panel>header p{max-width:420px;text-align:right;color:var(--muted)}.data-plane-gates{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;min-width:0}.data-plane-gates article,.data-plane-list article,.data-plane-reconciliation article{border:1px solid var(--border);border-left:4px solid #64748b;border-radius:10px;padding:11px;background:var(--surface);display:grid;gap:4px;min-width:0;overflow-wrap:anywhere}.data-plane-gates article.pass,.data-plane-list article.pass,.data-plane-reconciliation article.pass{border-left-color:#0f766e}.data-plane-gates article.fail,.data-plane-list article.risk,.data-plane-reconciliation article.fail{border-left-color:#dc2626}.data-plane-gates span,.data-plane-list span,.data-plane-reconciliation span{font-weight:800}.data-plane-gates small,.data-plane-list small,.data-plane-reconciliation small{color:var(--muted)}.data-plane-funnel{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:0;min-width:0}.data-plane-funnel article{position:relative;text-align:center;padding:15px 8px;border:1px solid var(--border);background:var(--surface);min-width:0}.data-plane-funnel article:not(:last-child):after{content:'›';position:absolute;right:-7px;top:12px;z-index:2;font-size:26px;color:#0f766e}.data-plane-funnel b,.data-plane-funnel span{display:block}.data-plane-funnel b{font-size:25px}.data-plane-funnel .risk{background:color-mix(in srgb,var(--surface) 91%,#f59e0b 9%)}.data-plane-table-wrap{overflow:auto;max-height:520px;max-width:100%}.data-plane-table-wrap table{border-collapse:separate;border-spacing:0;width:100%;min-width:1100px}.data-plane-table-wrap th,.data-plane-table-wrap td{padding:10px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}.data-plane-table-wrap thead th{position:sticky;top:0;background:var(--panel);z-index:2}.data-plane-table-wrap tbody th{position:sticky;left:0;background:var(--panel);z-index:1}.data-plane-table-wrap th small{display:block;color:var(--muted)}.data-plane-table-wrap tr.risk{background:color-mix(in srgb,var(--surface) 92%,#ef4444 8%)}.data-plane-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.data-plane-list,.data-plane-reconciliation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.data-plane-reconciliation{grid-template-columns:repeat(5,minmax(0,1fr))}.data-plane-scenarios{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.data-plane-scenario{border:1px solid var(--border);border-radius:12px;padding:14px;background:var(--surface);min-width:0}.data-plane-scenario header{display:grid;gap:4px}.data-plane-scenario header span{font-size:10px;color:#0f766e}.data-plane-scenario>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.data-plane-scenario>div b{font-size:20px}.data-plane-scenario>div small{display:block;font-weight:400;color:var(--muted)}.data-plane-scenario dl{display:grid;gap:4px}.data-plane-scenario dl div{display:grid;grid-template-columns:85px minmax(0,1fr);gap:8px}.data-plane-scenario dt{color:var(--muted)}.data-plane-scenario dd{margin:0;overflow-wrap:anywhere}.data-plane-proof-tabs{display:flex;gap:6px;overflow:auto;padding-bottom:8px}.data-plane-proof-tabs button{white-space:nowrap;border:1px solid var(--border);background:var(--surface);color:inherit;border-radius:999px;padding:7px 10px}.data-plane-proof-tabs button[aria-selected="true"]{background:#0f766e;color:white}.data-plane-drawer{border-left:5px solid #0f766e}
@media(max-width:1050px){.data-plane-summary{grid-template-columns:repeat(3,1fr)}.data-plane-gates{grid-template-columns:repeat(2,1fr)}.data-plane-reconciliation{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.topbar{align-items:flex-start;flex-wrap:wrap}.topbar-title{min-width:0;max-width:100%}.topbar h1{font-size:17px;overflow-wrap:anywhere}.topbar-actions{width:100%;max-width:100%;overflow-x:auto}.page-actions{display:flex;flex-wrap:nowrap}.owner-data-plane-signal>header,.owner-data-plane-signal>footer,.data-plane-panel>header,.data-plane-hero{display:grid}.owner-data-plane-kpis,.data-plane-summary,.data-plane-grid,.data-plane-scenarios,.data-plane-list,.data-plane-reconciliation{grid-template-columns:1fr}.data-plane-hero aside{text-align:left}.data-plane-funnel{grid-template-columns:repeat(2,minmax(0,1fr))}.data-plane-gates{grid-template-columns:1fr}.data-plane-panel>header p{text-align:left}.data-plane-scenario>div{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){body:has(.data-plane-workspace) .topbar{box-sizing:border-box;width:100dvw;max-width:100dvw;overflow:hidden}body:has(.data-plane-workspace) .topbar-title{min-width:0;max-width:100%}body:has(.data-plane-workspace) .topbar-title h1{font-size:1rem!important;line-height:1.15;max-width:260px;white-space:normal!important;overflow-wrap:anywhere}body:has(.data-plane-workspace) .topbar-actions{box-sizing:border-box;width:100%;max-width:100%;overflow:hidden}body:has(.data-plane-workspace) .page-actions{box-sizing:border-box;width:100%!important;max-width:100%!important;overflow-x:auto!important}#view:has(.data-plane-workspace){box-sizing:border-box!important;width:100dvw!important;max-width:100dvw!important;padding:12px!important;overflow-x:hidden!important}.data-plane-workspace,.data-plane-workspace>*{box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important}.data-plane-hero{overflow:hidden}.data-plane-hero>div,.data-plane-hero>aside{box-sizing:border-box!important;width:calc(100% - 26px)!important;max-width:calc(100% - 26px)!important;min-width:0!important;overflow:hidden}.data-plane-hero h2,.data-plane-hero p{width:100%!important;max-width:100%!important;white-space:normal!important;word-break:break-word!important}.data-plane-hero>div>div span{max-width:100%;overflow-wrap:anywhere}.data-plane-workspace h2,.data-plane-workspace h3,.data-plane-workspace p,.data-plane-workspace span,.data-plane-workspace small,.data-plane-workspace b{max-width:100%;white-space:normal!important;overflow-wrap:anywhere;word-break:normal}.data-plane-table-wrap,.data-plane-proof-tabs{width:100%!important;max-width:100%!important;overflow-x:auto!important}.data-plane-drawer{width:100dvw;max-width:100dvw}}
/* External Identity Provider & Hosted Runtime */
.owner-hosted-identity-signal,.hosted-identity-hero,.hosted-identity-summary,.hosted-identity-panel{border:1px solid color-mix(in srgb,var(--border) 72%,#6366f1 28%);border-radius:18px;background:linear-gradient(145deg,color-mix(in srgb,var(--panel) 95%,#4f46e5 5%),var(--panel));box-shadow:var(--shadow-sm)}
.owner-hosted-identity-signal{padding:20px;margin:18px 0}.owner-hosted-identity-signal>header,.owner-hosted-identity-signal>footer,.hosted-identity-panel>header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.owner-hosted-identity-signal h2,.hosted-identity-panel h3{margin:4px 0}.owner-hosted-identity-signal header span,.hosted-identity-panel header span{font-size:11px;font-weight:850;letter-spacing:.08em;color:#4f46e5}.owner-hosted-identity-kpis,.hosted-identity-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:17px 0}.owner-hosted-identity-kpis>*{text-align:left;color:inherit;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:13px}.owner-hosted-identity-kpis span,.owner-hosted-identity-kpis strong,.owner-hosted-identity-kpis em,.hosted-identity-summary span,.hosted-identity-summary strong,.hosted-identity-summary small{display:block}.owner-hosted-identity-kpis strong,.hosted-identity-summary strong{font-size:24px;margin:5px 0}.owner-hosted-identity-kpis em{font-style:normal;font-size:11px;color:var(--muted)}.owner-hosted-identity-kpis .risk,.hosted-identity-summary .risk{border-left:4px solid #dc2626}.owner-hosted-identity-signal footer p{display:grid;gap:4px;margin:0;max-width:880px}.hosted-identity-workspace{display:grid;gap:16px;min-width:0;max-width:100%;overflow:hidden}.hosted-identity-workspace>*{min-width:0}.hosted-identity-hero{display:grid;grid-template-columns:minmax(0,1fr) 205px;gap:22px;padding:25px;background:linear-gradient(125deg,#172554,#312e81 58%,#4f46e5);color:white}.hosted-identity-hero>div{min-width:0}.hosted-identity-hero>div>span{font-size:11px;font-weight:850;letter-spacing:.08em;color:#c7d2fe}.hosted-identity-hero h2{margin:5px 0;font-size:25px}.hosted-identity-hero p{max-width:900px}.hosted-identity-hero>div>div{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.hosted-identity-hero>div>div span{border:1px solid #ffffff44;border-radius:999px;padding:5px 9px;font-size:11px}.hosted-identity-hero aside{display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.hosted-identity-hero aside strong{font-size:48px;line-height:1}.hosted-identity-hero aside span{margin:6px 0 14px}.hosted-identity-summary{grid-template-columns:repeat(5,minmax(0,1fr));padding:12px;margin:0}.hosted-identity-summary article{padding:10px;min-width:0}.hosted-identity-summary small{color:var(--muted)}.hosted-identity-panel{padding:18px;min-width:0}.hosted-identity-panel>header p{max-width:440px;text-align:right;color:var(--muted)}.hosted-identity-gates{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.hosted-identity-gates article,.hosted-identity-list article{display:grid;gap:4px;min-width:0;overflow-wrap:anywhere;border:1px solid var(--border);border-left:4px solid #64748b;border-radius:10px;background:var(--surface);padding:11px}.hosted-identity-gates article.pass,.hosted-identity-list article.pass{border-left-color:#059669}.hosted-identity-gates article.fail,.hosted-identity-list article.risk{border-left-color:#dc2626}.hosted-identity-gates span,.hosted-identity-list span{font-weight:800}.hosted-identity-gates small,.hosted-identity-list small{color:var(--muted)}.hosted-identity-flow{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));padding:0;margin:12px 0 0;list-style:none}.hosted-identity-flow li{position:relative;display:grid;gap:5px;text-align:center;border:1px solid var(--border);padding:11px 6px;background:var(--surface);min-width:0}.hosted-identity-flow li:not(:last-child):after{content:'›';position:absolute;right:-6px;top:17px;z-index:2;color:#4f46e5;font-size:20px}.hosted-identity-flow b{margin:auto;width:23px;height:23px;padding-top:2px;border-radius:50%;background:#e0e7ff;color:#3730a3}.hosted-identity-flow span{font-size:10px;overflow-wrap:anywhere}.hosted-identity-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.hosted-identity-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.hosted-identity-scenarios{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.hosted-identity-scenario{border:1px solid var(--border);border-top:4px solid #4f46e5;border-radius:12px;padding:14px;background:var(--surface);min-width:0}.hosted-identity-scenario header{display:grid;gap:4px}.hosted-identity-scenario header span{font-size:10px;color:#4f46e5;font-weight:850}.hosted-identity-scenario>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.hosted-identity-scenario>div b{font-size:20px}.hosted-identity-scenario>div small{display:block;color:var(--muted);font-size:9px;font-weight:400}.hosted-identity-scenario dl{display:grid;gap:5px}.hosted-identity-scenario dl div{display:grid;grid-template-columns:95px minmax(0,1fr);gap:8px}.hosted-identity-scenario dt{color:var(--muted)}.hosted-identity-scenario dd{margin:0;overflow-wrap:anywhere}.hosted-identity-proof-tabs{display:flex;gap:6px;overflow-x:auto;padding:10px 0}.hosted-identity-proof-tabs button{white-space:nowrap;border:1px solid var(--border);border-radius:999px;padding:7px 10px;background:var(--surface);color:inherit}.hosted-identity-proof-tabs button[aria-selected="true"]{background:#4f46e5;border-color:#4f46e5;color:white}.hosted-identity-drawer{border-left:5px solid #4f46e5}
@media(max-width:1120px){.hosted-identity-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.hosted-identity-gates{grid-template-columns:repeat(3,minmax(0,1fr))}.hosted-identity-flow{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:680px){body:has(.hosted-identity-workspace) .topbar{box-sizing:border-box;width:100dvw;max-width:100dvw;overflow:hidden}body:has(.hosted-identity-workspace) .topbar-title h1{font-size:1rem!important;max-width:260px;white-space:normal!important;overflow-wrap:anywhere}body:has(.hosted-identity-workspace) .topbar-actions{box-sizing:border-box;width:100%;max-width:100%;overflow:hidden}body:has(.hosted-identity-workspace) .page-actions{box-sizing:border-box;width:100%!important;max-width:100%!important;overflow-x:auto!important}#view:has(.hosted-identity-workspace){box-sizing:border-box!important;width:100dvw!important;max-width:100dvw!important;padding:12px!important;overflow-x:hidden!important}.hosted-identity-workspace{box-sizing:border-box!important;width:calc(100dvw - 24px)!important;max-width:calc(100dvw - 24px)!important;min-width:0!important;overflow:hidden}.hosted-identity-workspace>*{box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important}.hosted-identity-hero{grid-template-columns:minmax(0,1fr);padding:16px;overflow:hidden}.hosted-identity-hero>div,.hosted-identity-hero>aside{box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;overflow:hidden}.hosted-identity-hero>div>div{width:100%;max-width:100%;overflow:hidden}.hosted-identity-hero h2,.hosted-identity-hero p{box-sizing:border-box!important;width:100%!important;max-width:100%!important}.hosted-identity-workspace h2,.hosted-identity-workspace h3,.hosted-identity-workspace p,.hosted-identity-workspace span,.hosted-identity-workspace small{max-width:100%;white-space:normal!important;overflow-wrap:anywhere}.owner-hosted-identity-signal>header,.owner-hosted-identity-signal>footer,.hosted-identity-panel>header{flex-direction:column}.owner-hosted-identity-kpis,.hosted-identity-summary,.hosted-identity-grid,.hosted-identity-list,.hosted-identity-scenarios{grid-template-columns:minmax(0,1fr)}.hosted-identity-gates{grid-template-columns:minmax(0,1fr)}.hosted-identity-flow{grid-template-columns:repeat(8,78vw);overflow-x:auto}.hosted-identity-scenario>div{grid-template-columns:repeat(2,minmax(0,1fr))}.hosted-identity-panel>header p{text-align:left}.hosted-identity-proof-tabs{width:100%!important;overflow-x:auto!important}.hosted-identity-drawer{width:100dvw;max-width:100dvw}}

/* Hosted Operations, Observability & Non-Production Activation */
.owner-hosted-ops-signal,.hosted-ops-hero,.hosted-ops-summary,.hosted-ops-panel{border:1px solid color-mix(in srgb,var(--border) 70%,#0f766e 30%);border-radius:18px;background:linear-gradient(145deg,color-mix(in srgb,var(--panel) 96%,#0f766e 4%),var(--panel));box-shadow:var(--shadow-sm)}
.owner-hosted-ops-signal{padding:20px;margin:18px 0}.owner-hosted-ops-signal>header,.owner-hosted-ops-signal>footer,.hosted-ops-panel>header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.owner-hosted-ops-signal h2,.hosted-ops-panel h3{margin:4px 0}.owner-hosted-ops-signal header span,.hosted-ops-panel>header span{font-size:11px;font-weight:850;letter-spacing:.08em;color:#0f766e}.owner-hosted-ops-kpis,.hosted-ops-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:17px 0}.owner-hosted-ops-kpis>*{text-align:left;color:inherit;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:13px}.owner-hosted-ops-kpis span,.owner-hosted-ops-kpis strong,.owner-hosted-ops-kpis em,.hosted-ops-summary span,.hosted-ops-summary strong,.hosted-ops-summary small{display:block}.owner-hosted-ops-kpis strong,.hosted-ops-summary strong{font-size:24px;margin:5px 0}.owner-hosted-ops-kpis em{font-style:normal;font-size:11px;color:var(--muted)}.owner-hosted-ops-kpis .risk,.hosted-ops-summary .risk{border-left:4px solid #dc2626}.owner-hosted-ops-signal footer p{display:grid;gap:4px;margin:0;max-width:880px}
.hosted-ops-workspace{display:grid;gap:16px;min-width:0;max-width:100%;overflow:hidden}.hosted-ops-workspace>*{min-width:0}.hosted-ops-hero{display:grid;grid-template-columns:minmax(0,1fr) 215px;gap:22px;padding:25px;background:linear-gradient(125deg,#042f2e,#115e59 58%,#0f766e);color:white}.hosted-ops-hero>div{min-width:0}.hosted-ops-hero>div>span{font-size:11px;font-weight:850;letter-spacing:.08em;color:#99f6e4}.hosted-ops-hero h2{margin:5px 0;font-size:25px}.hosted-ops-hero p{max-width:900px}.hosted-ops-hero>div>div{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.hosted-ops-hero>div>div span{border:1px solid #ffffff44;border-radius:999px;padding:5px 9px;font-size:11px}.hosted-ops-hero aside{display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.hosted-ops-hero aside strong{font-size:48px;line-height:1}.hosted-ops-hero aside span{margin:6px 0 14px}.hosted-ops-summary{grid-template-columns:repeat(5,minmax(0,1fr));padding:12px;margin:0}.hosted-ops-summary article{padding:10px;min-width:0}.hosted-ops-summary small{color:var(--muted)}
.hosted-ops-panel{padding:18px;min-width:0}.hosted-ops-panel>header p{max-width:470px;text-align:right;color:var(--muted)}.hosted-ops-gates{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.hosted-ops-gates article,.hosted-ops-list article{display:grid;gap:4px;min-width:0;overflow-wrap:anywhere;border:1px solid var(--border);border-left:4px solid #64748b;border-radius:10px;background:var(--surface);padding:11px}.hosted-ops-gates article.pass,.hosted-ops-list article.pass{border-left-color:#059669}.hosted-ops-gates article.fail,.hosted-ops-list article.risk{border-left-color:#dc2626}.hosted-ops-gates span,.hosted-ops-list span{font-weight:800}.hosted-ops-gates small,.hosted-ops-list small{color:var(--muted)}.hosted-ops-gates em{font-style:normal;font-size:10px;color:var(--muted)}
.hosted-ops-flow{display:grid;grid-template-columns:repeat(15,minmax(75px,1fr));padding:0;margin:12px 0 0;list-style:none;overflow-x:auto}.hosted-ops-flow li{position:relative;display:grid;gap:5px;text-align:center;border:1px solid var(--border);padding:11px 6px;background:var(--surface);min-width:0}.hosted-ops-flow li:not(:last-child):after{content:'›';position:absolute;right:-6px;top:17px;z-index:2;color:#0f766e;font-size:20px}.hosted-ops-flow b{margin:auto;width:23px;height:23px;padding-top:2px;border-radius:50%;background:#ccfbf1;color:#115e59}.hosted-ops-flow span{font-size:10px;overflow-wrap:anywhere}.hosted-ops-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.hosted-ops-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.hosted-ops-rule{margin-top:12px;border:1px solid #fca5a5;border-radius:10px;background:#fef2f2;color:#991b1b;padding:12px;font-weight:750}.hosted-ops-incidents{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.hosted-ops-incidents>article{border:1px solid var(--border);border-top:4px solid #dc2626;border-radius:12px;background:var(--surface);padding:14px}.hosted-ops-incidents header{display:grid;gap:4px}.hosted-ops-incidents header span{font-size:10px;color:#b91c1c;font-weight:850}.hosted-ops-incidents h4{margin:0}.hosted-ops-incidents dl,.hosted-ops-scenario dl{display:grid;gap:5px}.hosted-ops-incidents dl div,.hosted-ops-scenario dl div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:8px}.hosted-ops-incidents dt,.hosted-ops-scenario dt{color:var(--muted)}.hosted-ops-incidents dd,.hosted-ops-scenario dd{margin:0;overflow-wrap:anywhere}
.hosted-ops-scenarios{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.hosted-ops-scenario{border:1px solid var(--border);border-top:4px solid #0f766e;border-radius:12px;padding:14px;background:var(--surface);min-width:0}.hosted-ops-scenario header{display:grid;gap:4px}.hosted-ops-scenario header span{font-size:10px;color:#0f766e;font-weight:850}.hosted-ops-scenario h4{margin:0}.hosted-ops-scenario>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.hosted-ops-scenario>div b{font-size:20px}.hosted-ops-scenario>div small{display:block;color:var(--muted);font-size:9px;font-weight:400}.hosted-ops-scenario button{margin-top:10px;width:100%}.hosted-ops-proof-tabs{display:flex;gap:6px;overflow-x:auto;padding:10px 0}.hosted-ops-proof-tabs button{white-space:nowrap;border:1px solid var(--border);border-radius:999px;padding:7px 10px;background:var(--surface);color:inherit}.hosted-ops-proof-tabs button[aria-selected="true"]{background:#0f766e;border-color:#0f766e;color:white}.hosted-ops-drawer{border-left:5px solid #0f766e}
@media(max-width:920px){.hosted-ops-gates{grid-template-columns:repeat(3,minmax(0,1fr))}.hosted-ops-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){body:has(.hosted-ops-workspace) .topbar{box-sizing:border-box;width:100dvw;max-width:100dvw;overflow:hidden}body:has(.hosted-ops-workspace) .topbar-title h1{font-size:1rem!important;max-width:250px;white-space:normal!important;overflow-wrap:anywhere}body:has(.hosted-ops-workspace) .topbar-actions{box-sizing:border-box;width:100%;max-width:100%;overflow:hidden}body:has(.hosted-ops-workspace) .page-actions{box-sizing:border-box;width:100%!important;max-width:100%!important;overflow-x:auto!important}#view:has(.hosted-ops-workspace){box-sizing:border-box!important;width:100dvw!important;max-width:100dvw!important;padding:12px!important;overflow-x:hidden!important}.hosted-ops-workspace{box-sizing:border-box!important;width:calc(100dvw - 24px)!important;max-width:calc(100dvw - 24px)!important;min-width:0!important;overflow:hidden}.hosted-ops-workspace>*{box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important}.hosted-ops-hero{grid-template-columns:minmax(0,1fr);padding:16px;overflow:hidden}.hosted-ops-hero>div,.hosted-ops-hero>aside{box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;overflow:hidden}.hosted-ops-hero h2,.hosted-ops-hero p{box-sizing:border-box!important;width:100%!important;max-width:100%!important}.hosted-ops-workspace h2,.hosted-ops-workspace h3,.hosted-ops-workspace p,.hosted-ops-workspace span,.hosted-ops-workspace small,.hosted-ops-workspace b{max-width:100%;white-space:normal!important;overflow-wrap:anywhere}.owner-hosted-ops-signal>header,.owner-hosted-ops-signal>footer,.hosted-ops-panel>header{flex-direction:column}.owner-hosted-ops-kpis,.hosted-ops-summary,.hosted-ops-grid,.hosted-ops-list,.hosted-ops-incidents,.hosted-ops-scenarios{grid-template-columns:minmax(0,1fr)}.hosted-ops-gates{grid-template-columns:minmax(0,1fr)}.hosted-ops-flow{grid-template-columns:repeat(15,78vw);overflow-x:auto}.hosted-ops-scenario>div{grid-template-columns:repeat(2,minmax(0,1fr))}.hosted-ops-panel>header p{text-align:left}.hosted-ops-proof-tabs{width:100%!important;overflow-x:auto!important}.hosted-ops-drawer{width:100dvw;max-width:100dvw}}

/* Controlled Non-Production Activation */
.owner-controlled-activation-signal{border-color:color-mix(in srgb,var(--border) 68%,#b45309 32%)}.owner-controlled-activation-signal header span{color:#b45309}.controlled-activation-hero{background:linear-gradient(125deg,#451a03,#92400e 58%,#d97706)}.controlled-activation-hero>div>span{color:#fde68a}.controlled-activation-drawer{border-left-color:#d97706}.controlled-activation-workspace .hosted-ops-panel>header span{color:#b45309}.controlled-activation-workspace .hosted-ops-proof-tabs button[aria-selected="true"]{background:#b45309;border-color:#b45309}.controlled-activation-scenario{border-top-color:#d97706}.controlled-activation-scenario header span{color:#b45309}.controlled-activation-workflow{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;padding:0;list-style:none}.controlled-activation-workflow li,.controlled-activation-flags article{display:grid;grid-template-columns:30px minmax(0,1fr);gap:8px;min-width:0;border:1px solid var(--border);border-left:4px solid #64748b;border-radius:10px;background:var(--surface);padding:11px}.controlled-activation-workflow li.pass{border-left-color:#059669}.controlled-activation-workflow li.fail,.controlled-activation-flags article.fail{border-left-color:#dc2626}.controlled-activation-workflow li>b,.controlled-activation-flags article>b{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#fef3c7;color:#92400e}.controlled-activation-workflow li div,.controlled-activation-flags article div{display:grid;gap:3px}.controlled-activation-workflow span,.controlled-activation-flags span{font-weight:800}.controlled-activation-workflow small,.controlled-activation-flags small{color:var(--muted)}.controlled-activation-flags{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
@media(max-width:920px){.controlled-activation-workflow{grid-template-columns:repeat(3,minmax(0,1fr))}.controlled-activation-flags{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.controlled-activation-workflow,.controlled-activation-flags{grid-template-columns:minmax(0,1fr)}}
/* Controlled connector activation */
.owner-controlled-connector-signal{border-color:#9fbad0;background:linear-gradient(135deg,#f5faff 0%,#fff 62%)}
.owner-controlled-connector-signal>header>div>span,.controlled-connector-hero>div>span{color:#285d7c}
.controlled-connector-hero{background:linear-gradient(135deg,#12344b 0%,#1f5d78 58%,#287b86 100%)}
.controlled-connector-workspace .hosted-ops-panel{scroll-margin-top:82px}
.connector-batch-funnel{display:grid;gap:10px}
.connector-batch-funnel>article{border:1px solid #cad7df;border-left:4px solid #2c7a69;border-radius:10px;padding:12px;background:#fbfdfd}
.connector-batch-funnel>article.risk{border-left-color:#b4533f;background:#fff8f5}
.connector-batch-funnel header{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px}
.connector-batch-funnel header span{font-size:12px;color:#566873}
.connector-batch-funnel article>div{display:grid;grid-template-columns:repeat(5,minmax(72px,1fr));gap:6px}
.connector-batch-funnel article>div span{display:flex;flex-direction:column;font-size:11px;color:#62717b;background:#eef4f7;border-radius:6px;padding:7px}
.connector-batch-funnel article>div b{font-size:17px;color:#173b4d}
.connector-batch-funnel small{display:block;margin-top:8px;color:#60717b}
.connector-recon-bridge{display:grid;grid-template-columns:minmax(110px,1fr) auto minmax(110px,1fr) auto minmax(110px,1fr) auto minmax(110px,1fr);align-items:stretch;gap:8px}
.connector-recon-bridge>article{display:flex;flex-direction:column;border:1px solid #cad7df;border-radius:9px;padding:12px;background:#f8fbfc}
.connector-recon-bridge>article.pass{border-color:#8fc7b8;background:#f3fbf8}
.connector-recon-bridge>article.risk{border-color:#e2a999;background:#fff7f4}
.connector-recon-bridge>article span,.connector-recon-bridge>article small{font-size:11px;color:#61717a}
.connector-recon-bridge>article strong{font-size:19px;color:#183d4f;margin:5px 0}
.connector-recon-bridge>b{align-self:center;color:#66818f}
.controlled-connector-drawer{border-left-color:#2d718a}
.recovery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}

@media (max-width:720px){
  .connector-batch-funnel article>div{grid-template-columns:repeat(2,minmax(0,1fr))}
  .connector-recon-bridge{display:flex;overflow-x:auto;padding-bottom:6px;align-items:stretch}
  .connector-recon-bridge>article{min-width:145px}
  .connector-recon-bridge>b{min-width:18px;text-align:center}
  .recovery-grid{grid-template-columns:1fr}
}
/* Inventory connector reconciliation */
.owner-inventory-connector-signal{border-color:#c6a46a;background:linear-gradient(135deg,#fffaf0,#fff)}
.inventory-connector-hero{background:linear-gradient(135deg,#3e301c,#7c5a27 58%,#94753d)}
.inventory-connector-drawer{border-left-color:#9b742f}
.inventory-balance-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.inventory-balance-grid article{display:flex;flex-direction:column;border:1px solid #cad7df;border-left:4px solid #2c7a69;border-radius:9px;padding:12px;background:#fafdfc}
.inventory-balance-grid article.risk{border-left-color:#b4533f;background:#fff8f5}
.inventory-balance-grid strong{font-size:18px;margin:7px 0}.inventory-balance-grid small{color:#65747d}
.inventory-cross-table{overflow:auto;max-width:100%}.inventory-cross-table table{border-collapse:separate;border-spacing:0;min-width:980px;width:100%}
.inventory-cross-table th,.inventory-cross-table td{padding:10px;border-bottom:1px solid #dbe4e9;text-align:left;vertical-align:top}
.inventory-cross-table thead th{position:sticky;top:0;background:#eef4f6;z-index:2}.inventory-cross-table tbody th{position:sticky;left:0;background:#fff;z-index:1;min-width:180px}
.inventory-cross-table tr.risk td,.inventory-cross-table tr.risk th{background:#fff7f4}
@media(max-width:720px){
  body:has(.inventory-connector-workspace) .topbar{box-sizing:border-box;width:100dvw;max-width:100dvw;overflow:hidden}
  body:has(.inventory-connector-workspace) .topbar-title h1{max-width:270px;white-space:normal!important;overflow-wrap:anywhere}
  body:has(.inventory-connector-workspace) .topbar-actions{box-sizing:border-box;width:100%;max-width:100%;overflow:hidden}
  body:has(.inventory-connector-workspace) .page-actions{box-sizing:border-box;width:100%!important;max-width:100%!important;overflow-x:auto!important}
  #view:has(.inventory-connector-workspace){box-sizing:border-box!important;width:100dvw!important;max-width:100dvw!important;padding:12px!important;overflow-x:hidden!important}
  .inventory-connector-workspace{box-sizing:border-box!important;width:calc(100dvw - 24px)!important;max-width:calc(100dvw - 24px)!important;min-width:0!important;overflow:hidden!important}
  .inventory-connector-workspace>*{box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important}
  .inventory-connector-hero{grid-template-columns:minmax(0,1fr)!important;padding:16px!important;overflow:hidden!important}
  .inventory-connector-hero>div,.inventory-connector-hero>aside{box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;overflow:hidden!important}
  .inventory-connector-hero h2,.inventory-connector-hero p,.inventory-connector-workspace h3,.inventory-connector-workspace span,.inventory-connector-workspace small,.inventory-connector-workspace b{max-width:100%;white-space:normal!important;overflow-wrap:anywhere}
  .inventory-connector-hero>div>div{display:flex;flex-wrap:wrap!important;overflow:visible!important}
  .inventory-balance-grid{grid-template-columns:1fr}
  .inventory-cross-table{margin-inline:0;width:100%;max-width:100%;overflow-x:auto}
  .inventory-connector-drawer{width:100dvw;max-width:100dvw}
}

/* Cash connector activation and Accounting-to-Cash reconciliation */
.owner-cash-connector-signal{border-color:#91b6ad;background:linear-gradient(135deg,#f3fbf8,#fff)}
.cash-connector-hero{background:linear-gradient(135deg,#063b36,#0f665d 58%,#348579)}
.controlled-runtime-hero{background:linear-gradient(135deg,#20204f,#3a3b82 58%,#5a6aa8)}
.controlled-runtime-drawer{border-left-color:#4f46e5}
.owner-controlled-runtime-signal{border-color:#818cf8!important}
.owner-controlled-runtime-signal>header{background:linear-gradient(120deg,#eef2ff,#f8fafc)!important}
.controlled-runtime-sequence{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.controlled-runtime-sequence article{display:grid;grid-template-columns:auto minmax(0,1fr);gap:7px 12px;align-items:center;border:1px solid #cbd5e1;border-left:4px solid #ef4444;border-radius:12px;padding:14px;background:#fff}
.controlled-runtime-sequence article.pass{border-left-color:#059669}.controlled-runtime-sequence article>span{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#eef2ff;color:#3730a3;font-weight:800;grid-row:1/3}.controlled-runtime-sequence article div{display:flex;flex-direction:column}.controlled-runtime-sequence article strong,.controlled-runtime-sequence article em{grid-column:2;font-size:12px}.controlled-runtime-sequence article em{font-style:normal;color:#64748b}
.controlled-runtime-cross-table{width:100%;max-width:100%;overflow-x:auto}
.opmon-hero{background:linear-gradient(135deg,#3f0d23,#8b1e3f 58%,#b45353)}
.opmon-drawer{border-left-color:#be123c}.owner-opmon-signal{border-color:#fb7185!important}.owner-opmon-signal>header{background:linear-gradient(120deg,#fff1f2,#f8fafc)!important}
.opmon-severity{display:inline-flex;padding:7px 10px;border-radius:999px;font-size:12px}.opmon-severity.critical{background:#fee2e2;color:#991b1b}.opmon-severity.high{background:#ffedd5;color:#9a3412}.opmon-severity.degraded{background:#fef3c7;color:#92400e}
.opmon-highest-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.opmon-highest-grid article{display:grid;gap:5px;border:1px solid var(--border);border-left:4px solid #be123c;border-radius:10px;padding:12px;background:var(--surface)}.opmon-highest-grid span,.opmon-highest-grid small{font-size:11px;color:var(--muted)}
.opmon-health-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.opmon-health-grid article{display:grid;gap:5px;border:1px solid var(--border);border-left:4px solid #dc2626;border-radius:10px;padding:11px;background:var(--surface)}.opmon-health-grid article.pass{border-left-color:#059669}.opmon-health-grid span,.opmon-health-grid small{font-size:10px;color:var(--muted)}
.opmon-incidents{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.opmon-incident{border:1px solid var(--border);border-left:5px solid #d97706;border-radius:12px;padding:13px;background:var(--surface)}.opmon-incident.critical{border-left-color:#dc2626;background:#fff7f7}.opmon-incident.high{border-left-color:#ea580c}.opmon-incident.degraded{border-left-color:#ca8a04}.opmon-incident header span{font-size:10px;font-weight:800;text-transform:uppercase}.opmon-incident h4{margin:5px 0 10px}.opmon-incident dl{display:grid;gap:6px;margin:0}.opmon-incident dl div{display:grid;grid-template-columns:100px minmax(0,1fr);gap:8px;font-size:11px}.opmon-incident dt{color:var(--muted)}.opmon-incident dd{margin:0;font-weight:650;overflow-wrap:anywhere}
.opmon-impact-table{width:100%;max-width:100%;overflow-x:auto}.opmon-impact-table table{min-width:1180px}
.opmon-policy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.opmon-policy-grid article{display:grid;gap:4px;border:1px solid var(--border);border-left:4px solid #64748b;border-radius:10px;padding:11px;background:var(--surface)}.opmon-policy-grid span,.opmon-policy-grid small{font-size:10px;color:var(--muted)}
@media(max-width:1000px){.opmon-highest-grid,.opmon-health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.opmon-incidents,.opmon-policy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
 body:has(.opmon-workspace) .topbar{box-sizing:border-box;width:100dvw;max-width:100dvw;overflow:hidden}
 body:has(.opmon-workspace) .topbar-title h1{max-width:270px;white-space:normal!important;overflow-wrap:anywhere}
 body:has(.opmon-workspace) .topbar-actions{box-sizing:border-box;width:100%;max-width:100%;overflow:hidden}
 body:has(.opmon-workspace) .page-actions{box-sizing:border-box;width:100%!important;max-width:100%!important;overflow-x:auto!important}
 #view:has(.opmon-workspace){box-sizing:border-box!important;width:100dvw!important;max-width:100dvw!important;padding:12px!important;overflow-x:hidden!important}
 .opmon-workspace{box-sizing:border-box!important;width:calc(100dvw - 24px)!important;max-width:calc(100dvw - 24px)!important;min-width:0!important;overflow:hidden!important}
 .opmon-workspace>*{box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important}
 .opmon-hero{grid-template-columns:minmax(0,1fr)!important;padding:16px!important;overflow:hidden!important}
 .opmon-hero>div,.opmon-hero>aside{box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;overflow:hidden!important}
 .opmon-hero h2,.opmon-hero p,.opmon-workspace h3,.opmon-workspace span,.opmon-workspace small,.opmon-workspace b{max-width:100%;white-space:normal!important;overflow-wrap:anywhere}
 .opmon-hero>div>div{display:flex;flex-wrap:wrap!important;overflow:visible!important}
 .opmon-highest-grid,.opmon-health-grid,.opmon-incidents,.opmon-policy-grid{grid-template-columns:minmax(0,1fr)!important}
 .opmon-drawer{width:100dvw;max-width:100dvw}
}
.cash-connector-drawer{border-left-color:#0f766e}
.cash-connector-scenario{border-top-color:#0f766e}.cash-connector-scenario header span{color:#0f766e}
.cash-connector-balance-flow{display:flex;align-items:stretch;gap:7px;overflow-x:auto;padding:4px 0 8px}
.cash-connector-balance-flow>article{display:grid;gap:5px;min-width:145px;flex:1;border:1px solid #cbded9;border-left:4px solid #0f766e;border-radius:10px;padding:12px;background:#f8fcfb}
.cash-connector-balance-flow>article.risk{border-left-color:#d97706;background:#fffaf0}.cash-connector-balance-flow>article strong{font-size:20px}.cash-connector-balance-flow>article small{color:var(--muted)}
.cash-connector-balance-flow>b{display:grid;place-items:center;min-width:18px;font-size:20px;color:#467068}
.cash-connector-timeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.cash-connector-timeline article{display:grid;gap:4px;min-width:0;border:1px solid var(--border);border-left:4px solid #0f766e;border-radius:10px;padding:11px;background:var(--surface)}
.cash-connector-timeline article.risk{border-left-color:#d97706;background:#fffaf0}.cash-connector-timeline span,.cash-connector-timeline small{font-size:10px;color:var(--muted)}.cash-connector-timeline strong{font-size:17px}.cash-connector-timeline b,.cash-connector-timeline small{overflow-wrap:anywhere}
.cash-cross-table table{min-width:1160px}.cash-policy-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.cash-policy-grid article{display:grid;gap:5px;border:1px solid var(--border);border-left:4px solid #0f766e;border-radius:10px;padding:12px;background:var(--surface)}.cash-policy-grid article.risk{border-left-color:#dc2626}.cash-policy-grid strong{font-size:21px}
@media(max-width:980px){.cash-connector-timeline{grid-template-columns:repeat(2,minmax(0,1fr))}.cash-policy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){
 body:has(.cash-connector-workspace) .topbar{box-sizing:border-box;width:100dvw;max-width:100dvw;overflow:hidden}
 body:has(.cash-connector-workspace) .topbar-title h1{max-width:270px;white-space:normal!important;overflow-wrap:anywhere}
 body:has(.cash-connector-workspace) .topbar-actions{box-sizing:border-box;width:100%;max-width:100%;overflow:hidden}
 body:has(.cash-connector-workspace) .page-actions{box-sizing:border-box;width:100%!important;max-width:100%!important;overflow-x:auto!important}
 #view:has(.cash-connector-workspace){box-sizing:border-box!important;width:100dvw!important;max-width:100dvw!important;padding:12px!important;overflow-x:hidden!important}
 .cash-connector-workspace{box-sizing:border-box!important;width:calc(100dvw - 24px)!important;max-width:calc(100dvw - 24px)!important;min-width:0!important;overflow:hidden!important}
 .cash-connector-workspace>*{box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important}
 .cash-connector-hero{grid-template-columns:minmax(0,1fr)!important;padding:16px!important;overflow:hidden!important}
 .cash-connector-hero>div,.cash-connector-hero>aside{box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;overflow:hidden!important}
 .cash-connector-hero h2,.cash-connector-hero p,.cash-connector-workspace h3,.cash-connector-workspace span,.cash-connector-workspace small,.cash-connector-workspace b{max-width:100%;white-space:normal!important;overflow-wrap:anywhere}
 .cash-connector-hero>div>div{display:flex;flex-wrap:wrap!important;overflow:visible!important}
 .cash-connector-timeline,.cash-policy-grid{grid-template-columns:1fr}
 .cash-connector-balance-flow{width:100%;max-width:100%;overflow-x:auto}.cash-connector-balance-flow>article{min-width:150px}
 .cash-cross-table{width:100%;max-width:100%;overflow-x:auto}.cash-connector-drawer{width:100dvw;max-width:100dvw}
}
@media(max-width:760px){
 body:has(.controlled-runtime-workspace) .topbar{box-sizing:border-box;width:100dvw;max-width:100dvw;overflow:hidden}
 body:has(.controlled-runtime-workspace) .topbar-title h1{max-width:270px;white-space:normal!important;overflow-wrap:anywhere}
 body:has(.controlled-runtime-workspace) .topbar-actions{box-sizing:border-box;width:100%;max-width:100%;overflow:hidden}
 body:has(.controlled-runtime-workspace) .page-actions{box-sizing:border-box;width:100%!important;max-width:100%!important;overflow-x:auto!important}
 #view:has(.controlled-runtime-workspace){box-sizing:border-box!important;width:100dvw!important;max-width:100dvw!important;padding:12px!important;overflow-x:hidden!important}
 .controlled-runtime-workspace{box-sizing:border-box!important;width:calc(100dvw - 24px)!important;max-width:calc(100dvw - 24px)!important;min-width:0!important;overflow:hidden!important}
 .controlled-runtime-workspace>*{box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important}
 .controlled-runtime-hero{grid-template-columns:minmax(0,1fr)!important;padding:16px!important;overflow:hidden!important}
 .controlled-runtime-hero>div,.controlled-runtime-hero>aside{box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;overflow:hidden!important}
 .controlled-runtime-hero h2,.controlled-runtime-hero p,.controlled-runtime-workspace h3,.controlled-runtime-workspace span,.controlled-runtime-workspace small,.controlled-runtime-workspace b{max-width:100%;white-space:normal!important;overflow-wrap:anywhere}
 .controlled-runtime-hero>div>div{display:flex;flex-wrap:wrap!important;overflow:visible!important}
 .controlled-runtime-sequence{grid-template-columns:minmax(0,1fr)}
 .controlled-runtime-drawer{width:100dvw;max-width:100dvw}
}

/* NexEra login palette must remain after all legacy route styles. */
body.auth-login-active,
body.auth-login-active .login-page { background: #071426 !important; }
body.auth-login-active .login-card { border-color: #315575 !important; box-shadow: 0 32px 90px rgba(0,0,0,.48) !important; }
body.auth-login-active .login-intro { background: radial-gradient(circle at 30% 20%,rgba(45,91,96,.34),transparent 50%),#0a1c31 !important; }
body.auth-login-active .login-brand .brand-mark { color: #d7f500 !important; border-color: rgba(215,245,0,.6) !important; background: #10283b !important; }
body.auth-login-active .login-intro-copy > span,
body.auth-login-active .login-eyebrow { color: #d7f500 !important; }
body.auth-login-active .login-submit { color: #152000 !important; background: #d7f500 !important; border-color: #d7f500 !important; }

/* Final Owner Dashboard hierarchy overrides — keep after legacy dashboard layers. */
body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi-grid.owner-exec-primary-grid,
body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi-grid.owner-exec-secondary-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  width: 100% !important;
  max-width: 100% !important;
}
body.owner-dashboard-route .owner-exec-primary-grid .owner-exec-kpi {
  min-height: 188px !important;
}
body.owner-dashboard-route .owner-exec-secondary-grid .owner-exec-kpi {
  min-height: 158px !important;
}
body.owner-dashboard-route .owner-exec-actions-panel ol li {
  display: block !important;
  padding: 0 !important;
}
body.owner-dashboard-route .owner-exec-actions-panel ol li > button {
  display: grid !important;
  grid-template-columns: 30px minmax(0, 1fr) auto !important;
  grid-template-areas: "rank label cue" "rank impact cue" !important;
  gap: 3px 10px !important;
  width: 100% !important;
  min-height: 74px !important;
  padding: 12px !important;
  border: 0 !important;
  color: inherit !important;
  background: transparent !important;
  text-align: left !important;
  cursor: pointer !important;
}
body.owner-dashboard-route .owner-exec-actions-panel ol li > button span {
  grid-area: rank !important;
  align-self: center !important;
}
body.owner-dashboard-route .owner-exec-actions-panel ol li > button b {
  grid-area: label !important;
  width: auto !important;
  min-width: 0 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}
body.owner-dashboard-route .owner-exec-actions-panel ol li > button strong {
  grid-area: impact !important;
  width: auto !important;
  justify-self: start !important;
  white-space: normal !important;
}
body.owner-dashboard-route .owner-exec-actions-panel ol li > button i {
  grid-area: cue !important;
  align-self: center !important;
  color: #456a7e !important;
  font-size: 10px !important;
  font-style: normal !important;
  font-weight: 850 !important;
  white-space: nowrap !important;
}
body.owner-dashboard-route .owner-exec-actions-panel ol li > button:hover,
body.owner-dashboard-route .owner-exec-actions-panel ol li > button:focus-visible {
  background: #f1f6f8 !important;
  outline: 2px solid #7392a5 !important;
  outline-offset: -2px !important;
}
@media (max-width: 1180px) {
  body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi-grid.owner-exec-primary-grid,
  body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi-grid.owner-exec-secondary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 720px) {
  body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi-grid.owner-exec-primary-grid,
  body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi-grid.owner-exec-secondary-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Final usability lock — intentionally last so legacy dashboard layers cannot dilute it. */
body.owner-dashboard-route .owner-exec-dashboard.owner-exec-unified {
  gap: 16px !important;
  padding: 18px 22px 34px !important;
}
body.owner-dashboard-route .owner-exec-priority-brief {
  min-height: 0 !important;
  padding: 14px 16px !important;
  gap: 14px !important;
  border-width: 1px 1px 1px 5px !important;
}
body.owner-dashboard-route .owner-exec-priority-brief > div { gap: 5px !important; }
body.owner-dashboard-route .owner-exec-priority-brief > div > strong {
  font-size: clamp(17px, 1.2vw, 21px) !important;
  line-height: 1.22 !important;
}
body.owner-dashboard-route .owner-exec-priority-brief > div > span { gap: 6px !important; }
body.owner-dashboard-route .owner-exec-priority-brief > div > span b {
  padding: 5px 9px !important;
  font-size: 11px !important;
}
body.owner-dashboard-route .owner-exec-priority-brief > button {
  min-height: 42px !important;
  padding: 0 16px !important;
  font-size: 13px !important;
}
body.owner-dashboard-route .owner-dashboard-section-head {
  align-items: end !important;
  margin-bottom: 9px !important;
}
body.owner-dashboard-route .owner-dashboard-section-head span {
  font-size: 11px !important;
  letter-spacing: .13em !important;
}
body.owner-dashboard-route .owner-dashboard-section-head strong {
  font-size: clamp(20px, 1.55vw, 27px) !important;
  line-height: 1.12 !important;
}
body.owner-dashboard-route .owner-dashboard-section-head small {
  max-width: 360px !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  text-align: right !important;
}
body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi-grid.owner-exec-primary-grid,
body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi-grid.owner-exec-secondary-grid {
  gap: 10px !important;
}
body.owner-dashboard-route .owner-exec-unified .owner-exec-kpi.owner-metric-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 5px !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 13px 14px 11px !important;
  border-radius: 12px !important;
  text-align: left !important;
  cursor: pointer !important;
  overflow: hidden !important;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease !important;
}
body.owner-dashboard-route .owner-exec-primary-grid .owner-exec-kpi.owner-metric-card { min-height: 154px !important; }
body.owner-dashboard-route .owner-exec-secondary-grid .owner-exec-kpi.owner-metric-card { min-height: 142px !important; }
body.owner-dashboard-route .owner-metric-card:hover {
  transform: translateY(-2px) !important;
  border-color: #7893a4 !important;
  box-shadow: 0 9px 22px rgba(18, 42, 55, .11) !important;
}
body.owner-dashboard-route .owner-metric-card:focus-visible {
  outline: 3px solid #2f6f8d !important;
  outline-offset: 2px !important;
}
body.owner-dashboard-route .owner-metric-card .owner-metric-card-head {
  display: grid !important;
  grid-template-columns: 20px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 7px !important;
  min-width: 0 !important;
}
body.owner-dashboard-route .owner-metric-card .owner-metric-card-icon {
  display: grid !important;
  place-items: center !important;
  width: 20px !important;
  height: 20px !important;
  color: #496879 !important;
}
body.owner-dashboard-route .owner-metric-card .owner-metric-card-icon svg {
  width: 16px !important;
  height: 16px !important;
}
body.owner-dashboard-route .owner-metric-card .owner-metric-card-label {
  min-width: 0 !important;
  color: #35434d !important;
  font-size: 11px !important;
  font-weight: 850 !important;
  line-height: 1.15 !important;
  letter-spacing: .085em !important;
  text-transform: uppercase !important;
  white-space: normal !important;
}
body.owner-dashboard-route .owner-metric-card .owner-metric-card-open {
  padding: 3px 6px !important;
  border-radius: 999px !important;
  background: #eef4f6 !important;
  color: #426377 !important;
  font-size: 9px !important;
  font-weight: 850 !important;
  text-transform: uppercase !important;
  opacity: .78 !important;
}
body.owner-dashboard-route .owner-metric-card:hover .owner-metric-card-open,
body.owner-dashboard-route .owner-metric-card:focus-visible .owner-metric-card-open {
  background: #dceaf0 !important;
  opacity: 1 !important;
}
body.owner-dashboard-route .owner-exec-unified .owner-metric-card > .owner-metric-card-value {
  display: block !important;
  margin-top: 2px !important;
  color: #0c151b !important;
  font-size: clamp(24px, 1.65vw, 32px) !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: -.035em !important;
}
body.owner-dashboard-route .owner-exec-unified .owner-metric-card > .owner-metric-card-context {
  display: block !important;
  min-height: 17px !important;
  color: #5f6b73 !important;
  font-size: 12px !important;
  font-style: normal !important;
  font-weight: 650 !important;
  line-height: 1.28 !important;
  white-space: normal !important;
}
body.owner-dashboard-route .owner-exec-unified .owner-metric-card > .owner-kpi-visual {
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  grid-template-rows: auto auto !important;
  gap: 2px 8px !important;
  width: 100% !important;
  min-height: 24px !important;
  margin-top: auto !important;
}
body.owner-dashboard-route .owner-exec-unified .owner-metric-card > .owner-kpi-visual > i {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  height: 8px !important;
}
body.owner-dashboard-route .owner-exec-unified .owner-metric-card > .owner-kpi-visual small {
  font-size: 9px !important;
  line-height: 1 !important;
}
body.owner-dashboard-route .owner-metric-card .owner-metric-card-foot {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
  margin-top: 2px !important;
  padding-top: 7px !important;
  border-top: 1px solid #e5eaed !important;
}
body.owner-dashboard-route .owner-metric-card .owner-metric-card-foot b {
  min-width: 0 !important;
  color: #9d382e !important;
  font-size: 11px !important;
  font-weight: 850 !important;
  line-height: 1.2 !important;
  white-space: normal !important;
}
body.owner-dashboard-route .owner-metric-card.good .owner-metric-card-foot b { color: #17694b !important; }
body.owner-dashboard-route .owner-metric-card .owner-metric-card-foot > span {
  flex: 0 0 auto !important;
  color: #3c6074 !important;
  font-size: 10px !important;
  font-weight: 850 !important;
  white-space: nowrap !important;
}
body.owner-dashboard-route .owner-exec-unified .owner-exec-main-grid {
  grid-template-columns: minmax(0, 2.55fr) minmax(300px, .8fr) !important;
  gap: 10px !important;
  align-items: start !important;
}
body.owner-dashboard-route .owner-target-cash-graph.owner-approved-operating-graph,
body.owner-dashboard-route .owner-exec-actions-panel {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
}
body.owner-dashboard-route .owner-target-cash-graph.owner-approved-operating-graph { padding: 14px !important; }
body.owner-dashboard-route .owner-target-graph-head > div:first-child > span { font-size: 12px !important; }
body.owner-dashboard-route .owner-target-graph-head > div:first-child > strong {
  margin-top: 3px !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
}
body.owner-dashboard-route .owner-target-graph-head .owner-exec-chart-stats span {
  font-size: 10px !important;
  line-height: 1.3 !important;
}
body.owner-dashboard-route .owner-target-graph-head .owner-exec-chart-stats b { font-size: 12px !important; }
body.owner-dashboard-route .owner-target-graph-toolbar {
  min-height: 30px !important;
  margin: 7px 0 2px !important;
}
body.owner-dashboard-route .owner-target-legend {
  gap: 7px 13px !important;
  font-size: 10px !important;
  line-height: 1.2 !important;
}
body.owner-dashboard-route .owner-target-cash-graph .owner-exec-chart-canvas,
body.owner-dashboard-route .owner-target-cash-graph .owner-exec-cash-svg.owner-operating-svg.owner-target-operating-svg {
  height: 330px !important;
  min-height: 330px !important;
  max-height: 330px !important;
}
body.owner-dashboard-route .owner-target-graph-footer {
  min-height: 26px !important;
  font-size: 10px !important;
}
body.owner-dashboard-route .owner-exec-actions-panel {
  gap: 10px !important;
  padding: 14px !important;
}
body.owner-dashboard-route .owner-exec-actions-panel h3 {
  font-size: 12px !important;
  line-height: 1.25 !important;
}
body.owner-dashboard-route .owner-exec-actions-panel ul li {
  font-size: 12px !important;
  line-height: 1.32 !important;
}
body.owner-dashboard-route .owner-exec-actions-panel ol { gap: 7px !important; }
body.owner-dashboard-route .owner-exec-actions-panel ol li > button {
  min-height: 66px !important;
  padding: 10px !important;
}
body.owner-dashboard-route .owner-exec-actions-panel ol li > button b {
  font-size: 12px !important;
  line-height: 1.25 !important;
}
body.owner-dashboard-route .owner-exec-actions-panel ol li > button strong { font-size: 12px !important; }
@media (max-width: 1180px) {
  body.owner-dashboard-route .owner-exec-dashboard.owner-exec-unified { padding: 16px !important; }
  body.owner-dashboard-route .owner-exec-unified .owner-exec-main-grid { grid-template-columns: minmax(0, 1fr) !important; }
}
@media (max-width: 720px) {
  body.owner-dashboard-route .owner-dashboard-section-head { align-items: start !important; }
  body.owner-dashboard-route .owner-dashboard-section-head small { text-align: left !important; }
  body.owner-dashboard-route .owner-exec-priority-brief { grid-template-columns: auto minmax(0, 1fr) !important; }
  body.owner-dashboard-route .owner-exec-priority-brief > button {
    grid-column: 1 / -1 !important;
    width: 100% !important;
  }
  body.owner-dashboard-route .owner-target-cash-graph .owner-exec-chart-canvas,
  body.owner-dashboard-route .owner-target-cash-graph .owner-exec-cash-svg.owner-operating-svg.owner-target-operating-svg {
    height: 300px !important;
    min-height: 300px !important;
    max-height: 300px !important;
  }
}
