:root {
  color-scheme: light;
  --ink: #13261f;
  --ink-soft: #65726d;
  --forest: #173d31;
  --forest-2: #245a47;
  --mint: #bde8ce;
  --mint-2: #dff4e7;
  --lime: #d8ef74;
  --surface-soft: #f4f7f5;
  --navy: var(--forest);
  --teal: var(--forest-2);
  --teal-dark: var(--forest);
  --teal-pale: var(--mint-2);
  --blue-pale: var(--surface-soft);
  --surface: #ffffff;
  --canvas: #edf2ef;
  --line: #dfe7e2;
  --amber: #b76507;
  --amber-pale: #fff1d5;
  --red: #b42318;
  --red-pale: #fee9e7;
  --green: #216e55;
  --green-pale: #e2f3eb;
  --shadow: 0 12px 36px rgba(22, 53, 43, 0.08);
  --radius: 18px;
  font-family:
    Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
    sans-serif;
  color: var(--ink);
  background: var(--canvas);
  font-synthesis: none;
}

* { box-sizing: border-box; }
body {
  margin: 0;
  min-width: 320px;
  background: radial-gradient(circle at 88% 8%, rgba(189, 232, 206, .42), transparent 24rem), var(--canvas);
}
button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: var(--teal-dark); text-underline-offset: 3px; }

.topbar {
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 72px;
  padding: 12px max(24px, calc((100vw - 1320px) / 2));
  color: white;
  background: linear-gradient(105deg, rgba(36, 90, 71, .96), rgba(23, 61, 49, .98));
  backdrop-filter: blur(15px);
  border-bottom: 1px solid rgba(255,255,255,.1);
}

.brand { display: flex; align-items: center; gap: 12px; color: white; text-decoration: none; }
.brand span:last-child { display: grid; line-height: 1.15; }
.brand small { margin-top: 4px; color: rgba(255,255,255,.62); font-size: .76rem; }
.brand-mark {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  color: var(--forest);
  background: var(--lime);
  border-radius: 13px;
  font-weight: 800;
  font-size: 1.25rem;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.2);
}
.topbar-actions { display: flex; align-items: center; gap: 12px; }
.topbar-actions form { margin: 0; }
.sync-state { color: rgba(255,255,255,.72); font-size: .82rem; }
.secondary-button, .text-button, .inline-button {
  border: 0;
  cursor: pointer;
  border-radius: 9px;
}
.secondary-button { padding: 9px 13px; color: white; background: rgba(255,255,255,.13); }
.secondary-button:hover { background: rgba(255,255,255,.21); }
.secondary-button:disabled { cursor: wait; opacity: .65; }
.text-button { padding: 8px; color: #dce9ed; background: transparent; }

.shell { width: min(1320px, calc(100% - 48px)); margin: 0 auto; padding: 38px 0 64px; }
.hero {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: end;
  gap: 48px;
  margin-bottom: 28px;
}
.eyebrow {
  margin: 0 0 8px;
  color: var(--teal-dark);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
h1 { max-width: 740px; margin: 0; color: var(--navy); font-size: clamp(2rem, 4vw, 3rem); line-height: 1.06; letter-spacing: -.045em; }
.hero > div:first-child > p:last-child { max-width: 690px; margin: 17px 0 0; color: var(--ink-soft); font-size: 1.04rem; line-height: 1.6; }
.hero-status {
  display: grid;
  gap: 5px;
  min-width: 265px;
  padding: 16px 18px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-left: 4px solid var(--teal);
  border-radius: 11px;
}
.hero-status span, .hero-status small { color: var(--ink-soft); font-size: .77rem; }
.hero-status strong { color: var(--navy); font-size: .94rem; }

.metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-bottom: 25px; }
body[data-view]:not([data-view="overview"]) .hero,
body[data-view]:not([data-view="overview"]) .metrics { display: none; }
.metric-card, .panel {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.metric-card { position: relative; display: grid; gap: 8px; min-height: 145px; padding: 20px; text-align: left; }
.metrics .metric-card:first-child {
  color: white;
  border-color: transparent;
  background: radial-gradient(circle at 90% 10%, rgba(216, 239, 116, .22), transparent 8rem), var(--forest);
}
.metrics .metric-card:first-child span,
.metrics .metric-card:first-child small { color: rgba(255,255,255,.66); }
.metrics .metric-card:first-child strong { color: white; }
.metric-card span, .metric-card small { color: var(--ink-soft); font-size: .79rem; }
.metric-card strong {
  min-width: 0;
  color: var(--navy);
  font-size: clamp(1.55rem, 2.6vw, 2.35rem);
  line-height: 1.05;
  letter-spacing: -.04em;
  overflow-wrap: anywhere;
}
.metric-card.metric-link { cursor: pointer; font: inherit; }
.metric-card.metric-link::after { position: absolute; top: 16px; right: 17px; color: var(--teal-dark); content: "↗"; font-size: 1rem; font-weight: 800; }
.metric-card.metric-link:hover { border-color: #91c8c1; box-shadow: 0 12px 28px rgba(16,46,67,.13); transform: translateY(-2px); }
.metric-card.metric-link:focus-visible, .nav-group:focus-visible, .tab:focus-visible { outline: 3px solid rgba(8,127,115,.28); outline-offset: 2px; }

.section-intro {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 30px;
  margin: 4px 2px 18px;
}
.section-intro h2 { margin: 0; color: var(--navy); font-size: clamp(1.45rem, 3vw, 2.15rem); letter-spacing: -.03em; }
.section-intro > p { max-width: 460px; margin: 0; color: var(--ink-soft); font-size: .8rem; text-align: right; line-height: 1.5; }
.finance-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 18px; }
.finance-card {
  display: grid;
  gap: 8px;
  min-height: 138px;
  padding: 19px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-top: 4px solid var(--teal);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.finance-card.warning { border-top-color: var(--amber); }
.finance-card.danger { border-top-color: var(--red); }
.finance-card span, .finance-card small { color: var(--ink-soft); font-size: .76rem; line-height: 1.4; }
.finance-card strong { color: var(--navy); font-size: clamp(1.5rem, 2.5vw, 2.2rem); letter-spacing: -.04em; }
.finance-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.bar-list { display: grid; gap: 12px; padding: 18px 20px 21px; }
.bar-row { display: grid; gap: 6px; }
.bar-row > div { display: flex; justify-content: space-between; gap: 16px; color: var(--ink-soft); font-size: .73rem; }
.bar-row > div strong { color: var(--navy); font-size: .78rem; font-weight: 700; }
progress { width: 100%; height: 9px; overflow: hidden; border: 0; border-radius: 99px; background: var(--blue-pale); }
progress::-webkit-progress-bar { background: var(--blue-pale); border-radius: 99px; }
progress::-webkit-progress-value { background: var(--teal); border-radius: 99px; }
progress::-moz-progress-bar { background: var(--teal); border-radius: 99px; }
.bar-row.navy progress::-webkit-progress-value { background: var(--navy); }
.bar-row.navy progress::-moz-progress-bar { background: var(--navy); }
.bar-row.warning progress::-webkit-progress-value { background: var(--amber); }
.bar-row.warning progress::-moz-progress-bar { background: var(--amber); }
.month-bars { border-top: 1px solid var(--line); }
.month-bars .bar-list { padding-top: 15px; }

.stage-chart { display: grid; gap: 12px; padding: 2px 20px 22px; }
.stage-row { display: grid; grid-template-columns: 138px minmax(100px, 1fr) 34px; gap: 10px; align-items: center; }
.stage-label { overflow: hidden; color: var(--ink-soft); font-size: .74rem; text-overflow: ellipsis; white-space: nowrap; }
.bar-track { height: 12px; overflow: hidden; border-radius: 999px; background: var(--surface-soft); }
.bar-fill { display: block; width: var(--bar-size, 0%); height: 100%; min-width: 3px; border-radius: inherit; background: var(--forest-2); }
.bar-fill.terminal { background: #9dafaa; }
.bar-fill.won { background: var(--lime); }
.bar-fill.lost { background: var(--red); }
.stage-count { text-align: right; font: 750 .72rem/1 ui-monospace, SFMono-Regular, Menlo, monospace; }

.quarter-chart { height: 260px; display: grid; grid-template-columns: repeat(8, minmax(58px, 1fr)); gap: 10px; align-items: end; padding: 8px 20px 0; overflow-x: auto; }
.quarter-column { min-width: 58px; display: grid; align-content: end; justify-items: center; text-align: center; }
.quarter-bars { width: 100%; height: 205px; display: flex; align-items: end; justify-content: center; gap: 4px; border-bottom: 1px solid var(--line); }
.quarter-bars > span { width: min(19px, 28%); min-height: 0; display: block; border-radius: 6px 6px 0 0; }
.quarter-bars .booked-bar { background: var(--forest-2); }
.quarter-bars .cash-bar { background: var(--mint); }
.quarter-bars .receivable-bar { background: var(--amber); }
.quarter-column > strong { margin-top: 8px; font-size: .67rem; white-space: nowrap; }
.chart-legend { display: flex; flex-wrap: wrap; justify-content: center; gap: 15px; margin: 13px 20px 20px; }
.chart-legend span { display: flex; align-items: center; gap: 6px; color: var(--ink-soft); font-size: .68rem; }
.chart-legend i { width: 9px; height: 9px; border-radius: 3px; }
.chart-legend i.booked { background: var(--forest-2); }
.chart-legend i.cash { background: var(--mint); }
.chart-legend i.receivable { background: var(--amber); }
.chart-data-table { margin-top: 4px; border-inline: 0; border-bottom: 0; border-radius: 0 0 var(--radius) var(--radius); }

.warmup-monitor-chart { height: 290px; display: grid; grid-template-columns: repeat(5, minmax(75px, 1fr)); gap: 10px; align-items: end; padding: 12px 20px 0; }
.warmup-monitor-column { min-width: 0; display: grid; align-content: end; justify-items: center; text-align: center; }
.warmup-bars { width: 100%; height: 180px; display: flex; align-items: end; justify-content: center; gap: 5px; padding: 0 9px; border-bottom: 1px solid var(--line); }
.warmup-bars > span { position: relative; width: min(29px, 42%); min-height: 2px; display: block; border-radius: 6px 6px 0 0; }
.warmup-bars > span b { position: absolute; inset: -17px 0 auto; font-size: .57rem; }
.planned-bar { background: var(--mint); }
.actual-bar { background: var(--lime); }
.warmup-monitor-column > strong { max-width: 110px; margin-top: 10px; font-size: .68rem; line-height: 1.3; }
.warmup-monitor-column > small { margin: 4px 0 7px; color: var(--ink-soft); font-size: .6rem; }
.chart-legend i.planned { background: var(--mint); }
.chart-legend i.actual { background: var(--lime); }

.scenario-list { display: grid; gap: 13px; padding: 18px 20px 22px; }
.scenario-row { display: grid; grid-template-columns: 126px 1fr 92px; gap: 12px; align-items: center; }
.scenario-row > div { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: .75rem; }
.scenario-row > span { color: var(--navy); font-size: .76rem; font-weight: 750; text-align: right; }
.scenario-row.low progress::-webkit-progress-value { background: #6f8b96; }
.scenario-row.low progress::-moz-progress-bar { background: #6f8b96; }
.scenario-row.high progress::-webkit-progress-value { background: var(--amber); }
.scenario-row.high progress::-moz-progress-bar { background: var(--amber); }
.control-alert { margin: 18px; padding: 15px 16px; color: var(--red); background: var(--red-pale); border-radius: 10px; }
.control-alert strong { font-size: .8rem; }
.control-alert p { margin: 6px 0 0; color: #7f2c25; font-size: .77rem; line-height: 1.48; }
.payment-alert {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 18px;
  padding: 18px 21px;
  border: 1px solid #abd4cf;
  border-left: 5px solid var(--green);
  border-radius: 12px;
  background: var(--green-pale);
}
.payment-alert.danger { border-color: #efb9b4; border-left-color: var(--red); background: var(--red-pale); }
.payment-alert-content { display: grid; width: 100%; gap: 5px; min-width: 0; }
.payment-alert span { color: var(--ink-soft); font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.payment-alert strong { color: var(--navy); font-size: 1.05rem; }
.payment-alert small { color: var(--ink-soft); line-height: 1.45; }
.payment-alert-facts { display: grid; grid-template-columns: repeat(4, minmax(130px, 1fr)); gap: 8px; margin: 7px 0 3px; }
.payment-alert-facts > div { display: grid; gap: 3px; padding: 9px 11px; border: 1px solid rgba(127,44,37,.18); border-radius: 8px; background: rgba(255,255,255,.58); }
.payment-alert-facts span { font-size: .6rem; }
.payment-alert-facts strong { font-size: .83rem; }
.payment-alert .tax-customer-context { color: #7f2c25; font-weight: 700; }
.payment-overdue-sections { display: grid; gap: 8px; margin: 8px 0 3px; }
.payment-overdue-sections > h2 { margin: 0; color: #7f2c25; font-size: .7rem; letter-spacing: .07em; text-transform: uppercase; }
.payment-overdue-section { display: grid; gap: 0; border: 1px solid rgba(127,44,37,.2); border-radius: 8px; background: rgba(255,255,255,.58); overflow: hidden; }
.payment-overdue-section > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 9px 11px 6px; }
.payment-overdue-section h3 { margin: 0; color: #7f2c25; font-size: .72rem; letter-spacing: .05em; text-transform: uppercase; }
.payment-overdue-section > header small { display: block; margin-top: 2px; font-size: .65rem; }
.payment-overdue-section > header > strong { color: #7f2c25; font-size: .82rem; white-space: nowrap; }
.payment-reconciliation-reviews > h2 { color: #805913; }
.payment-reconciliation-reviews .payment-overdue-section { border-color: #dfcfaa; background: #fff9ec; }
.payment-reconciliation-reviews .payment-overdue-section h3,
.payment-reconciliation-reviews .payment-overdue-section > header > strong { color: #805913; }
.payment-alert-table-wrap { overflow-x: auto; }
.payment-alert-table { width: 100%; min-width: 800px; border-collapse: collapse; font-size: .73rem; }
.payment-alert-table th, .payment-alert-table td { padding: 8px 11px; border-bottom: 1px solid rgba(127,44,37,.14); text-align: left; vertical-align: top; }
.payment-alert-table th { color: var(--ink-soft); font-size: .62rem; letter-spacing: .06em; text-transform: uppercase; }
.payment-alert-table tr:last-child td { border-bottom: 0; }
.payment-alert-table td strong { display: block; font-size: .76rem; }
.payment-alert-table td small { display: block; margin-top: 2px; font-size: .66rem; }
.payment-alert-table .pill { white-space: nowrap; }
.payment-alert .inline-button { align-self: flex-start; margin: 0; padding: 9px 12px; border: 1px solid currentColor; border-radius: 8px; }
.overdue-payment-list { display: grid; gap: 14px; }
.overdue-payment-section { display: grid; gap: 0; overflow: hidden; border: 1px solid #efc8c4; border-radius: 10px; }
.overdue-payment-section > header { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 12px 16px; background: var(--red-pale); }
.overdue-payment-section > header > div { display: grid; gap: 3px; }
.overdue-payment-section h3 { margin: 0; color: var(--navy); font-size: .84rem; }
.overdue-payment-section > header small { color: var(--ink-soft); font-size: .7rem; }
.overdue-payment-section > header > strong { color: #7f2c25; font-size: .9rem; white-space: nowrap; }
.overdue-payment-items { display: grid; }
.overdue-payment-items article { display: grid; gap: 17px; padding: 20px 22px; border-left: 5px solid var(--red); border-bottom: 1px solid #efc8c4; background: var(--red-pale); }
.overdue-payment-items article:last-child { border-bottom: 0; }
.overdue-payment-section.forecast-section { border-color: #dfcfaa; }
.overdue-payment-section.forecast-section > header,
.overdue-payment-items article.forecast-obligation { background: #fff9ec; }
.overdue-payment-items article.forecast-obligation { border-left-color: #b98325; border-bottom-color: #dfcfaa; }
.overdue-payment-section.forecast-section > header > strong { color: #805913; }
.payment-alert.warning { border-color: #dfcfaa; background: #fff9ec; }
.overdue-payment-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.overdue-payment-heading > div { display: grid; gap: 4px; }
.overdue-payment-heading strong { color: var(--navy); font-size: .98rem; }
.overdue-payment-heading span { color: var(--ink-soft); font-size: .74rem; }
.overdue-payment-list ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.overdue-payment-list li { display: grid; grid-template-columns: minmax(110px, auto) 1fr auto; gap: 10px; align-items: center; padding: 11px 13px; border: 1px solid #efc8c4; border-radius: 8px; background: rgba(255,255,255,.66); }
.overdue-payment-list li strong { color: var(--navy); font-size: .78rem; }
.overdue-payment-list li span { color: var(--ink); font-size: .76rem; }
.overdue-payment-list li small { color: var(--ink-soft); font-size: .69rem; font-weight: 750; }
.tax-customer-allocation { display: grid; gap: 6px; }
.tax-customer-allocation > strong { font-size: .83rem; }
.tax-customer-allocation > small { color: var(--ink-soft); font-size: .72rem; }
.tax-customer-allocation ul { margin-top: 5px; }
.allocation-missing { margin: 0; color: #7f2c25; font-size: .78rem; }
.payment-coverage { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.payment-coverage article { padding: 20px; border-right: 1px solid var(--line); border-left: 4px solid transparent; }
.payment-coverage article:last-child { border-right: 0; }
.payment-coverage article.danger { border-left-color: var(--red); background: var(--red-pale); }
.payment-coverage article.warning { border-left-color: #bd8a32; background: #fffaf0; }
.payment-coverage article > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 18px; }
.payment-coverage article > div strong { color: var(--navy); }
.payment-scope-title { display: grid; gap: 4px; }
.payment-scope-title small { color: var(--ink-soft); font-size: .7rem; font-weight: 700; }
.payment-coverage dl { display: grid; gap: 9px; margin: 0; }
.payment-coverage dl div { display: flex; justify-content: space-between; gap: 16px; }
.payment-coverage dt { color: var(--ink-soft); font-size: .74rem; }
.payment-coverage dd { margin: 0; color: var(--navy); font-weight: 800; }
.payment-warning { margin: 0 0 18px; }
.tax-summary-kpis { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border-bottom: 1px solid var(--line); }
.tax-summary-kpis > div { display: grid; gap: 6px; padding: 18px 20px; border-right: 1px solid var(--line); }
.tax-summary-kpis > div:last-child { border-right: 0; }
.tax-summary-kpis > div.danger { background: var(--red-pale); }
.tax-summary-kpis > div.warning { background: var(--amber-pale); }
.tax-summary-kpis span { color: var(--ink-soft); font-size: .69rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.tax-summary-kpis strong { color: var(--navy); font-size: 1.05rem; }
.tax-summary-kpis small { color: var(--ink-soft); font-size: .7rem; line-height: 1.35; }
.tax-monthly-table td { vertical-align: top; }
.tax-monthly-table td small { color: var(--ink-soft); line-height: 1.4; }
.warning-text { color: #8B5A00; }
.payment-boundary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.payment-boundary > div { display: grid; gap: 7px; padding: 20px 22px; border-right: 1px solid var(--line); }
.payment-boundary > div:last-child { border-right: 0; }
.payment-boundary span, .payment-boundary small { color: var(--ink-soft); font-size: .75rem; line-height: 1.45; }
.payment-boundary strong { color: var(--navy); }
.quality-list { display: grid; }
.quality-list article { display: grid; gap: 7px; padding: 15px 20px; border-bottom: 1px solid var(--line); }
.quality-list article:last-child { border-bottom: 0; }
.quality-list article > div { display: flex; align-items: center; gap: 10px; }
.quality-list strong { color: var(--navy); font-size: .82rem; }
.quality-list p { margin: 0; color: var(--ink); font-size: .79rem; line-height: 1.45; }
.quality-list small { color: var(--ink-soft); font-size: .73rem; line-height: 1.4; }
.expense-controls { border-top: 1px solid var(--line); }
.expense-privacy-note {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  padding: 15px 20px;
  color: var(--ink);
  background: #f5f9f8;
  border-top: 1px solid var(--line);
  font-size: .76rem;
  line-height: 1.5;
}
.expense-privacy-note strong { color: var(--teal-dark); }
.expense-privacy-note span { color: var(--ink-soft); }
.expense-reconciliation-alert { margin: 0 0 18px; }
.expense-coverage-alert { margin: 0 0 18px; }
.expense-tabs {
  display: inline-flex;
  gap: 5px;
  margin: 0 0 18px;
  padding: 5px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #f5f9f8;
}
.expense-tabs button {
  padding: 9px 13px;
  border: 0;
  border-radius: 8px;
  color: var(--ink-soft);
  background: transparent;
  font: inherit;
  font-size: .76rem;
  font-weight: 800;
  cursor: pointer;
}
.expense-tabs button:hover, .expense-tabs button:focus-visible { color: var(--navy); background: white; }
.expense-tabs button.active { color: white; background: var(--teal-dark); }
.expense-source-comparison, .expense-control-summary { display: grid; gap: 12px; }
.expense-source-comparison article, .expense-control-summary article {
  display: grid;
  gap: 7px;
  padding: 15px;
  border: 1px solid var(--line);
  border-radius: 11px;
  background: #f8faf9;
}
.expense-source-comparison article > div:first-child {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 15px;
}
.expense-source-comparison span, .expense-control-summary span {
  color: var(--ink-soft);
  font-size: .69rem;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.expense-source-comparison strong, .expense-control-summary strong { color: var(--navy); font-size: 1.1rem; }
.expense-source-comparison small, .expense-control-summary small { color: var(--ink-soft); font-size: .72rem; line-height: 1.4; }
.expense-share-progress { display: block; width: 100%; height: 7px; overflow: hidden; border: 0; border-radius: 999px; appearance: none; background: #dfe9e6; }
.expense-share-progress::-webkit-progress-bar { background: #dfe9e6; }
.expense-share-progress::-webkit-progress-value { border-radius: inherit; background: var(--teal); }
.expense-share-progress::-moz-progress-bar { border-radius: inherit; background: var(--teal); }
.expense-control-summary article.danger { border-left: 4px solid var(--red); background: var(--red-pale); }
.expense-control-summary article.warning { border-left: 4px solid var(--amber); background: var(--amber-pale); }
.empty-state { padding: 28px 22px; color: var(--ink-soft); font-size: .84rem; }

.launch-banner {
  display: grid;
  grid-template-columns: 190px 1fr auto;
  gap: 22px;
  align-items: center;
  margin-bottom: 18px;
  padding: 20px 22px;
  color: white;
  background: linear-gradient(125deg, var(--navy), #155b68);
  border-radius: 14px;
  box-shadow: var(--shadow);
}
.launch-banner.monitoring { background: linear-gradient(125deg, #443417, #8b5412); }
.launch-banner > div { display: grid; gap: 5px; }
.launch-banner span { color: rgba(255,255,255,.67); font-size: .72rem; text-transform: uppercase; letter-spacing: .09em; }
.launch-banner strong { font-size: 1.35rem; }
.launch-banner p { margin: 0; color: rgba(255,255,255,.78); font-size: .8rem; line-height: 1.5; }
.launch-banner .primary-link { color: white; border-color: rgba(255,255,255,.35); white-space: nowrap; }
.control-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.control-grid article { min-height: 130px; padding: 18px 20px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.control-grid article:nth-child(3n) { border-right: 0; }
.control-grid article > div { display: flex; align-items: start; justify-content: space-between; gap: 12px; }
.control-grid strong { color: var(--navy); font-size: .82rem; }
.control-grid p { margin: 11px 0 0; color: var(--ink-soft); font-size: .77rem; line-height: 1.5; }
.timeline-list { display: grid; }
.timeline-list article { display: grid; grid-template-columns: 40px 1fr; gap: 13px; padding: 15px 20px; border-bottom: 1px solid var(--line); }
.timeline-list article:last-child { border-bottom: 0; }
.timeline-list article > span { display: grid; width: 32px; height: 32px; place-items: center; color: white; background: var(--teal); border-radius: 50%; font-size: .7rem; font-weight: 800; }
.timeline-list strong { color: var(--navy); font-size: .8rem; }
.timeline-list p { margin: 5px 0 0; color: var(--ink); font-size: .77rem; line-height: 1.45; }
.timeline-list small { display: block; margin-top: 5px; color: var(--ink-soft); font-size: .72rem; line-height: 1.4; }
.confidence-list { display: grid; gap: 13px; padding: 18px 20px; }
.confidence-list article { display: grid; gap: 6px; }
.confidence-list article > div { display: flex; justify-content: space-between; gap: 12px; font-size: .76rem; }
.confidence-list strong { color: var(--navy); }
.confidence-list small { color: var(--ink-soft); font-size: .7rem; }
.confidence-distribution { display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--line); }
.confidence-distribution > div { display: grid; gap: 4px; padding: 14px 18px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.confidence-distribution strong { color: var(--navy); font-size: .77rem; }
.confidence-distribution span { font-size: .78rem; font-weight: 750; }
.confidence-distribution small { color: var(--ink-soft); font-size: .68rem; line-height: 1.4; }
.gap-board { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.gap-board article { display: grid; gap: 8px; padding: 18px 20px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); border-left: 3px solid var(--amber); }
.gap-board article.critical { border-left-color: var(--red); }
.gap-board article > div { display: flex; align-items: center; gap: 10px; }
.gap-board strong { color: var(--navy); font-size: .82rem; }
.gap-board p { margin: 0; color: var(--ink); font-size: .78rem; line-height: 1.45; }
.gap-board small { color: var(--ink-soft); font-size: .71rem; line-height: 1.4; }
.gap-board em { color: var(--teal-dark); font-size: .69rem; font-style: normal; font-weight: 700; }
.response-grid { display: grid; grid-template-columns: repeat(2, 1fr); }
.response-grid > div { display: grid; grid-template-columns: 1fr auto; gap: 6px 14px; min-height: 85px; padding: 15px 18px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.response-grid span { color: var(--ink); font-size: .77rem; }
.response-grid strong { color: var(--navy); font-size: 1rem; }
.response-grid small { grid-column: 1 / -1; color: var(--ink-soft); font-size: .69rem; }

.campaign-workspace-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(250px, .7fr);
  gap: 24px;
  padding: 30px;
  border-radius: 18px;
  color: white;
  background: linear-gradient(135deg, #123e32, #1d5c47);
  box-shadow: var(--shadow);
}
.campaign-workspace-hero .eyebrow { color: #b9d7cb; }
.campaign-workspace-hero h2 {
  max-width: 760px;
  margin: 5px 0 10px;
  font-size: clamp(1.7rem, 3vw, 2.55rem);
  line-height: 1.05;
  letter-spacing: -.035em;
}
.campaign-workspace-hero p { max-width: 760px; margin: 0; color: #d9ebe3; line-height: 1.55; }
.campaign-gate {
  align-self: stretch;
  display: grid;
  align-content: center;
  gap: 7px;
  padding: 19px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 14px;
  background: rgba(0,0,0,.15);
}
.campaign-gate span { color: #b9d7cb; font-size: .7rem; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }
.campaign-gate strong { color: #e7ff9a; font-size: 1.25rem; }
.campaign-gate small { color: #d9ebe3; font-size: .73rem; line-height: 1.5; }
.campaign-form { display: grid; gap: 12px; padding: 19px 22px 22px; }
.campaign-form label, .sequence-editor label { display: grid; gap: 6px; }
.campaign-form label > span, .sequence-editor label > span, .campaign-schedule span {
  color: var(--ink-soft);
  font-size: .68rem;
  font-weight: 800;
  text-transform: uppercase;
}
.campaign-form input, .campaign-form textarea,
.sequence-editor input, .sequence-editor textarea, .campaign-schedule input,
.sequence-marker input {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 9px;
  color: var(--ink);
  background: white;
  font: inherit;
}
.campaign-form input, .sequence-editor input, .campaign-schedule input { min-height: 40px; padding: 9px 11px; }
.campaign-form textarea, .sequence-editor textarea { padding: 10px 11px; resize: vertical; line-height: 1.5; }
.campaign-form-actions { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.campaign-form-actions small { max-width: 370px; color: var(--ink-soft); font-size: .72rem; line-height: 1.45; }
.campaign-button {
  min-height: 38px;
  padding: 8px 12px;
  color: var(--teal-dark);
  background: white;
  border: 1px solid #abd4cf;
  border-radius: 8px;
  cursor: pointer;
  font-weight: 750;
}
.campaign-button:hover { background: #f4faf8; }
.campaign-button.primary { color: white; background: var(--teal); border-color: var(--teal); }
.campaign-button.primary:hover { background: var(--teal-dark); }
.campaign-button:disabled { cursor: not-allowed; opacity: .58; }
.campaign-editor-list, .sequence-list { display: grid; gap: 14px; }
.campaign-editor { display: grid; gap: 18px; padding: 20px 22px 22px; }
.campaign-editor-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.campaign-editor-head h3 { margin: 4px 0 6px; font-size: 1.2rem; }
.campaign-editor-head p { margin: 0; color: var(--ink-soft); font-size: .79rem; line-height: 1.45; }
.campaign-brief { display: grid; grid-template-columns: 1.5fr .75fr .75fr; gap: 9px; }
.campaign-brief > div { padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: #f7faf9; }
.campaign-brief span, .campaign-brief strong { display: block; }
.campaign-brief span { margin-bottom: 5px; color: var(--ink-soft); font-size: .65rem; font-weight: 800; text-transform: uppercase; }
.campaign-brief strong { font-size: .76rem; line-height: 1.45; }
.campaign-hold {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 11px 13px;
  border: 1px solid #efd3a3;
  border-radius: 10px;
  color: #6e4b10;
  background: #fff7e9;
  font-size: .74rem;
}
.campaign-step {
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr);
  gap: 15px;
  padding: 15px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: #f7faf9;
}
.sequence-marker { display: grid; align-content: start; justify-items: center; gap: 8px; }
.sequence-marker > strong {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  color: white;
  background: var(--teal);
  font-size: .84rem;
}
.sequence-marker span { color: var(--ink-soft); font-size: .7rem; text-align: center; }
.sequence-marker input { width: 52px; min-height: 30px; margin-top: 4px; padding: 5px; text-align: center; }
.sequence-editor { display: grid; gap: 10px; }
.sequence-editor-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.sequence-actions { display: flex; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.sequence-rationale { padding: 10px; border-left: 3px solid #a5c8b8; color: var(--ink-soft); background: white; font-size: .72rem; line-height: 1.45; }
.campaign-schedule { display: flex; align-items: end; justify-content: flex-end; gap: 12px; padding-top: 16px; border-top: 1px solid var(--line); }
.campaign-schedule > div { display: grid; gap: 5px; min-width: 260px; }
.campaign-schedule small { color: var(--ink-soft); font-size: .68rem; }
.campaign-loading { display: grid; gap: 7px; padding: 30px; }
.campaign-loading span { color: var(--ink-soft); font-size: .79rem; }

.role-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.role-grid article { display: grid; align-content: start; gap: 8px; min-height: 285px; padding: 21px; border-right: 1px solid var(--line); }
.role-grid article:last-child { border-right: 0; }
.role-grid article > span { color: var(--teal-dark); font-size: .68rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.role-grid h3 { margin: 0; font-size: .98rem; line-height: 1.35; }
.role-grid p { margin: 0 0 7px; color: var(--ink-soft); font-size: .77rem; line-height: 1.5; }
.role-grid small { color: var(--ink); font-size: .71rem; line-height: 1.45; }
.plan-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.plan-columns section { padding: 17px 20px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.plan-columns section:nth-child(even) { border-right: 0; }
.plan-columns h3, .plan-block h3 { margin: 0 0 10px; color: var(--navy); font-size: .8rem; }
.plan-list { display: grid; gap: 8px; margin: 0; padding-left: 18px; color: var(--ink); font-size: .75rem; line-height: 1.45; }
.plan-block { padding: 18px 20px; border-top: 1px solid var(--line); }
.plan-block p { margin: 0; color: var(--ink); font-size: .77rem; line-height: 1.5; }

.dashboard-nav { display: grid; gap: 6px; margin: 0 0 18px; padding: 6px; background: rgba(223,244,231,.82); border: 1px solid rgba(189,232,206,.72); border-radius: 16px; box-shadow: 0 8px 24px rgba(22,53,43,.05); }
.nav-groups { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 6px; }
.nav-group { padding: 11px 12px; color: var(--ink-soft); background: transparent; border: 0; border-radius: 8px; cursor: pointer; font-weight: 700; }
.nav-group:hover { color: var(--forest); background: rgba(255,255,255,.65); }
.nav-group.active { color: white; background: var(--forest); }
.nav-items { padding: 5px; background: rgba(255,255,255,.56); border-radius: 9px; }
.nav-panel { display: flex; flex-wrap: wrap; gap: 6px; }
.nav-panel[hidden] { display: none; }
.tab { flex: 0 0 auto; padding: 10px 15px; color: var(--ink-soft); background: transparent; border: 0; border-radius: 8px; cursor: pointer; }
.tab:hover { color: var(--forest); }
.tab.active { color: var(--forest); background: var(--lime); box-shadow: 0 3px 9px rgba(22,53,43,.08); font-weight: 750; }
.tab span { display: inline-block; min-width: 22px; margin-left: 5px; padding: 1px 6px; color: white; background: var(--red); border-radius: 99px; font-size: .7rem; }
#payment-badge[data-tone="warning"] { color: #7a4600; background: #fff0cf; }
#payment-badge[data-tone="ok"] { color: #14634d; background: #e0f3eb; }

.two-column { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr); gap: 18px; align-items: start; }
.stack { display: grid; gap: 18px; }
.panel { margin-bottom: 18px; overflow: hidden; }
.stack .panel { margin: 0; }
.panel-header { display: flex; align-items: start; justify-content: space-between; gap: 24px; padding: 20px 22px; border-bottom: 1px solid var(--line); }
.panel-header h2 { margin: 0; color: var(--navy); font-size: 1.05rem; }
.panel-header p { margin: 6px 0 0; color: var(--ink-soft); font-size: .82rem; line-height: 1.45; }
.primary-link { flex: 0 0 auto; padding: 8px 10px; border: 1px solid #abd4cf; border-radius: 8px; text-decoration: none; font-size: .78rem; font-weight: 700; }
.panel-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; }
.portal-action, .employee-back, .employee-open, .employee-record-count {
  padding: 0;
  color: var(--teal-dark);
  background: transparent;
  border: 0;
  cursor: pointer;
  text-align: left;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.portal-action, .employee-back { padding: 8px 10px; border: 1px solid #abd4cf; border-radius: 8px; font-size: .78rem; font-weight: 750; text-decoration: none; }
.portal-action:hover, .employee-back:hover { background: var(--teal-pale); }
.employee-open, .employee-record-count { font-weight: 750; }
.employee-detail-heading {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: start;
  gap: 18px;
  margin-bottom: 20px;
}
.employee-detail-heading h2 { margin: 0; color: var(--navy); font-size: clamp(1.5rem, 3vw, 2.25rem); }
.employee-detail-heading p:last-child { margin: 7px 0 0; color: var(--ink-soft); line-height: 1.5; }
.employee-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; }
.employee-facts > div { min-height: 94px; padding: 16px 18px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.employee-facts > div:nth-child(3n) { border-right: 0; }
.employee-facts dt, .employee-register-notes span { margin-bottom: 7px; color: var(--ink-soft); font-size: .72rem; font-weight: 750; text-transform: uppercase; }
.employee-facts dd { margin: 0; color: var(--navy); font-size: .88rem; line-height: 1.45; }
.employee-register-notes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.employee-register-notes article { padding: 16px 18px; border-right: 1px solid var(--line); }
.employee-register-notes article:last-child { border-right: 0; }
.employee-register-notes p { margin: 0; color: var(--ink); font-size: .8rem; line-height: 1.55; }
.employee-source-state { display: flex; align-items: center; gap: 10px; padding: 11px 20px; color: var(--ink-soft); border-bottom: 1px solid var(--line); font-size: .76rem; }
.employee-roster-tabs { display: flex; flex-wrap: wrap; gap: 8px; padding: 16px 20px 0; }
.employee-roster-tabs button { display: inline-flex; align-items: center; gap: 7px; padding: 8px 12px; color: var(--ink-soft); background: var(--surface); border: 1px solid var(--line); border-radius: 999px; cursor: pointer; font: inherit; font-size: .78rem; font-weight: 750; }
.employee-roster-tabs button[aria-selected="true"] { color: var(--teal-dark); background: var(--teal-pale); border-color: #7fc9c1; }
.employee-roster-tabs span { min-width: 1.5em; padding: 1px 6px; color: inherit; background: #fff; border-radius: 999px; text-align: center; }
.employee-filters { flex-wrap: wrap; }
.employee-filters input { flex: 1 1 240px; }
.employee-table table { min-width: 1050px; }
.employee-record-table table { min-width: 920px; }
.employee-appraisal-table table { min-width: 1150px; }
.employee-appraisal-notes { display: grid; gap: 8px; min-width: 290px; }
.employee-appraisal-notes p { margin: 0; color: var(--ink); font-size: .76rem; line-height: 1.45; }
.employee-appraisal-notes strong { display: block; margin-bottom: 2px; color: var(--ink-soft); font-size: .67rem; text-transform: uppercase; }
.employee-appraisal-goals ol { display: grid; gap: 8px; margin: 4px 0 0; padding-left: 18px; }
.employee-appraisal-goals li { color: var(--ink); font-size: .74rem; line-height: 1.4; }
.employee-appraisal-goals b, .employee-appraisal-goals span, .employee-appraisal-goals small { display: block; }
.employee-appraisal-goals small { margin-top: 2px; color: var(--ink-soft); }
.employee-appraisal-feedback { display: grid; gap: 12px; }
.employee-feedback-card { padding: 16px 18px; border: 1px solid #abd4cf; border-left: 4px solid var(--teal); border-radius: 10px; background: var(--teal-pale); }
.employee-feedback-card header { display: flex; justify-content: space-between; gap: 16px; align-items: start; padding-bottom: 12px; border-bottom: 1px solid #abd4cf; }
.employee-feedback-card header span, .employee-feedback-card header small, .employee-feedback-card dt { color: var(--ink-soft); font-size: .7rem; font-weight: 750; text-transform: uppercase; }
.employee-feedback-card h3 { margin: 3px 0 0; color: var(--navy); font-size: .95rem; }
.employee-feedback-card header small { flex: 0 0 auto; text-align: right; }
.employee-feedback-card dl { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px 18px; margin: 14px 0 0; }
.employee-feedback-card dt { margin-bottom: 5px; }
.employee-feedback-card dd { margin: 0; color: var(--ink); font-size: .84rem; line-height: 1.55; white-space: pre-wrap; }
.agent-dashboard { display: grid; gap: 18px; }
.agent-page-heading { align-items: end; }
.agent-runtime { min-width: 240px; padding: 14px 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.agent-runtime span, .agent-runtime small { display: block; color: var(--ink-soft); font-size: .72rem; }
.agent-runtime strong { display: block; margin: 3px 0; }
.agent-runtime.configured strong { color: var(--teal); }
.agent-runtime.not-configured strong { color: var(--high); }
.agent-governance { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; padding: 12px 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); color: var(--ink-soft); font-size: .78rem; }
.agent-layout { display: grid; grid-template-columns: minmax(210px, 280px) minmax(0, 1fr); gap: 18px; align-items: start; }
.agent-selector { display: grid; gap: 8px; }
.agent-member { display: grid; grid-template-columns: 42px 1fr; gap: 2px 10px; width: 100%; padding: 13px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); color: var(--ink); text-align: left; cursor: pointer; }
.agent-member > span { grid-row: 1 / 3; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 10px; background: var(--surface-strong); color: var(--ink-soft); font-weight: 800; font-size: .72rem; }
.agent-member strong { align-self: end; }
.agent-member small { color: var(--ink-soft); line-height: 1.35; }
.agent-member.active { border-color: var(--teal); box-shadow: 0 0 0 1px var(--teal); }
.agent-member.active > span { background: var(--teal); color: white; }
.agent-result { min-height: 430px; padding: 20px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
.agent-result > header { display: flex; justify-content: space-between; gap: 20px; align-items: start; }
.agent-result > header h2 { margin: 2px 0 4px; }
.agent-result > header p { margin: 0; color: var(--ink-soft); }
.agent-question { display: grid; gap: 8px; margin: 20px 0 14px; padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-strong); }
.agent-question label { font-size: .78rem; font-weight: 800; }
.agent-question label span { color: var(--ink-soft); font-weight: 500; }
.agent-question textarea { box-sizing: border-box; width: 100%; resize: vertical; padding: 11px 12px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); color: var(--ink); font: inherit; line-height: 1.45; }
.agent-question > div { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.agent-question small { max-width: 620px; color: var(--ink-soft); line-height: 1.4; }
.agent-history { display: grid; gap: 9px; margin-bottom: 14px; color: var(--ink-soft); font-size: .74rem; }
.agent-history > div:first-child { display: flex; justify-content: space-between; gap: 12px; }
.agent-history-list { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 3px; }
.agent-history-list button { flex: 0 0 210px; display: grid; gap: 4px; padding: 10px 11px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); color: var(--ink); text-align: left; cursor: pointer; }
.agent-history-list button.active { border-color: var(--teal); box-shadow: 0 0 0 1px var(--teal); }
.agent-history-list button strong { font-size: .72rem; }
.agent-history-list button span { overflow: hidden; color: var(--ink-soft); font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }
.agent-position { margin: 20px 0; padding: 17px; border-left: 4px solid var(--teal); border-radius: 8px; background: var(--surface-strong); }
.agent-position > span { color: var(--ink-soft); font-size: .7rem; font-weight: 800; text-transform: uppercase; }
.agent-position strong, .agent-position p, .agent-position small { display: block; }
.agent-position strong { margin: 4px 0 8px; line-height: 1.45; }
.agent-position p { margin: 0 0 8px; color: var(--ink-soft); line-height: 1.55; }
.agent-position small { color: var(--ink-soft); }
.agent-perspectives { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0 0 20px; }
.agent-perspectives article { padding: 13px 14px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); }
.agent-perspectives article > div { display: flex; justify-content: space-between; gap: 12px; color: var(--ink-soft); font-size: .7rem; }
.agent-perspectives article strong { color: var(--teal); }
.agent-perspectives p { margin: 8px 0 0; color: var(--ink-soft); font-size: .78rem; line-height: 1.5; }
.agent-actions { display: grid; gap: 12px; }
.agent-action { padding: 16px; border: 1px solid var(--line); border-radius: 12px; }
.agent-action-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; color: var(--ink-soft); font-size: .72rem; }
.agent-action h3 { margin: 10px 0 6px; }
.agent-action p { margin: 0; color: var(--ink-soft); line-height: 1.5; }
.agent-action dl { display: flex; flex-wrap: wrap; gap: 12px 30px; margin: 14px 0; }
.agent-action dl div { display: grid; gap: 2px; }
.agent-action dt { color: var(--ink-soft); font-size: .67rem; font-weight: 800; text-transform: uppercase; }
.agent-action dd { margin: 0; font-size: .82rem; font-weight: 700; }
.agent-evidence-note { color: var(--ink-soft); font-size: .75rem; }
.agent-empty { display: grid; place-items: center; min-height: 300px; margin-top: 20px; border: 1px dashed var(--line); border-radius: 12px; text-align: center; color: var(--ink-soft); }
.agent-empty strong { align-self: end; color: var(--ink); }
.agent-empty p { align-self: start; max-width: 520px; margin: 6px 20px; }
@media (max-width: 820px) {
  .agent-layout { grid-template-columns: 1fr; }
  .agent-selector { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .agent-result > header { flex-direction: column; }
  .agent-question > div { align-items: stretch; flex-direction: column; }
}
@media (max-width: 520px) {
  .agent-selector { grid-template-columns: 1fr; }
  .agent-perspectives { grid-template-columns: 1fr; }
}
.employee-table td:first-child small, .employee-record-table td small { display: block; margin-top: 5px; color: var(--ink-soft); font-size: .7rem; }
.employee-record-count { white-space: nowrap; }
.employee-record-filter { justify-content: flex-end; }

.gap-list { display: grid; }
.gap-row { display: grid; grid-template-columns: 130px 1fr auto; gap: 15px; align-items: start; padding: 15px 20px; border-bottom: 1px solid var(--line); border-left: 3px solid transparent; }
.gap-row.high { border-left-color: var(--red); }
.gap-row.medium { border-left-color: var(--amber); }
.gap-row:last-child { border-bottom: 0; }
.gap-row strong { color: var(--navy); font-size: .89rem; }
.gap-row p { margin: 5px 0 0; color: var(--ink-soft); font-size: .8rem; line-height: 1.45; }
.category { display: block; margin-top: 7px; color: var(--ink-soft); font-size: .7rem; }
.pill { display: inline-flex; align-items: center; padding: 4px 8px; color: var(--ink-soft); background: var(--blue-pale); border-radius: 99px; font-size: .7rem; font-weight: 700; white-space: nowrap; }
.pill.high { color: var(--red); background: var(--red-pale); }
.pill.medium { color: var(--amber); background: var(--amber-pale); }
.pill.ok { color: var(--green); background: var(--green-pale); }
.row-link { align-self: center; font-size: .76rem; font-weight: 700; }
.inline-button { margin: 12px 20px 18px; padding: 8px 0; color: var(--teal-dark); background: transparent; font-size: .8rem; font-weight: 750; }

.watch-grid { display: grid; grid-template-columns: repeat(2, 1fr); }
.watch-grid.four { grid-template-columns: repeat(4, 1fr); }
.watch-grid > div { display: grid; gap: 7px; min-height: 100px; padding: 18px 20px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.watch-grid > div:nth-child(even) { border-right: 0; }
.watch-grid.four > div:last-child { border-right: 0; }
.watch-grid span { color: var(--ink-soft); font-size: .76rem; }
.watch-grid strong { color: var(--navy); font-size: 1.45rem; }
.reconciliation-summary > div:first-child { border-top: 3px solid var(--red); }
.reconciliation-row.critical { box-shadow: inset 3px 0 0 var(--red); }
.reconciliation-row.high { box-shadow: inset 3px 0 0 var(--amber); }
.reconciliation-row.medium { box-shadow: inset 3px 0 0 var(--teal); }
.reconciliation-row.low { box-shadow: inset 3px 0 0 var(--line); }

.link-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--line); }
.link-card { display: flex; justify-content: space-between; gap: 14px; padding: 16px 18px; color: var(--navy); background: white; text-decoration: none; }
.link-card:hover { background: #f8fbfb; }
.link-card span:first-child { display: grid; gap: 5px; }
.link-card small { color: var(--ink-soft); font-size: .72rem; font-weight: 400; }

.table-wrap { overflow: auto; }
.transaction-history-table { max-height: 680px; }
.transaction-history-table table { min-width: 1180px; }
.transaction-review-key { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; padding: 1px; background: var(--line); border-bottom: 1px solid var(--line); }
.transaction-review-key > div { display: grid; gap: 5px; padding: 13px 16px; background: #f8fafb; }
.transaction-review-key strong { color: var(--navy); font-size: .76rem; }
.transaction-review-key span { color: var(--ink-soft); font-size: .72rem; line-height: 1.45; }
.review-detail-table table { min-width: 1200px; }
.review-detail-table td:nth-child(4) { min-width: 270px; }
.review-detail-table td:nth-child(5) { min-width: 320px; }
.transaction-review-detail { display: grid; gap: 5px; padding-left: 10px; border-left: 3px solid var(--teal); }
.transaction-review-detail.proximity { border-left-color: #6d5bd0; }
.transaction-review-detail.evidence { border-left-color: var(--amber); }
.transaction-review-detail strong { color: var(--navy); font-size: .76rem; line-height: 1.4; }
.transaction-review-detail small { color: var(--ink-soft); font-size: .7rem; line-height: 1.45; }
.transaction-compact-detail { display: grid; gap: 4px; }
.transaction-compact-detail strong { color: var(--navy); }
.transaction-compact-detail small { color: var(--ink-soft); font-size: .7rem; }
.transaction-review-reason { color: var(--ink); font-size: .75rem; line-height: 1.5; }
.transaction-row-status { display: grid; justify-items: start; gap: 6px; min-width: 160px; }
@media (max-width: 820px) {
  .transaction-review-key { grid-template-columns: 1fr; }
}
.view-link-strip { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 18px; }
.payroll-table { margin-top: 18px; }
.payroll-table table { min-width: 760px; }
.payroll-table .muted-value { color: var(--ink-soft); font-size: .78rem; }
.payroll-notes { display: grid; gap: 7px; padding: 14px 18px 18px; border-top: 1px solid var(--line); color: var(--ink-soft); font-size: .76rem; line-height: 1.5; }
.payroll-notes p { margin: 0; }
.payroll-notes strong { color: var(--navy); }
table { width: 100%; border-collapse: collapse; font-size: .79rem; }
th { position: sticky; top: 0; z-index: 2; padding: 11px 13px; color: var(--ink-soft); background: #f5f8f9; text-align: left; white-space: nowrap; }
td { max-width: 360px; padding: 12px 13px; border-top: 1px solid var(--line); vertical-align: top; line-height: 1.42; }
tbody tr:hover { background: #fafcfc; }
table[data-table-controls="true"] thead { position: sticky; top: 0; z-index: 3; box-shadow: 0 1px 0 var(--line); }
table[data-table-controls="true"] th { position: static; }
.table-sort-button {
  width: 100%;
  min-height: 22px;
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 0;
  border: 0;
  border-radius: 5px;
  color: inherit;
  background: transparent;
  font: inherit;
  text-align: left;
}
.table-sort-button:hover { color: var(--teal-dark); background: transparent; }
.table-sort-button:focus-visible { outline: 2px solid var(--teal); outline-offset: 3px; }
.table-sort-indicator { margin-left: auto; color: #81918b; font-size: 9px; }
.table-filter-row th { padding: 6px 7px 8px; background: #f8faf9; }
.table-filter-row input {
  width: 100%;
  min-width: 86px;
  min-height: 30px;
  padding: 6px 8px;
  border: 1px solid var(--line);
  border-radius: 7px;
  color: var(--ink);
  background: white;
  font-size: .72rem;
  font-weight: 500;
}
.table-filter-row input::placeholder { color: #87958f; }
.table-filter-row input:focus { border-color: var(--teal); outline: 2px solid rgba(27, 119, 111, .13); }
.table-filter-empty td { padding: 22px 13px; color: var(--ink-soft); text-align: center; }
.table-control-hidden { display: none; }
.danger-text { color: var(--red); font-weight: 800; }
.vendor-list { display: grid; }
.vendor-list article { display: grid; gap: 8px; padding: 16px 20px; border-bottom: 1px solid var(--line); }
.vendor-list article:last-child { border-bottom: 0; }
.vendor-list article > div { display: flex; justify-content: space-between; gap: 12px; }
.vendor-list p { margin: 0; color: var(--ink-soft); font-size: .79rem; line-height: 1.5; }
.access-status { margin: 18px; padding: 17px; border-radius: 10px; }
.access-status.ok { background: var(--green-pale); }
.access-status.bad { background: var(--red-pale); }
.access-status span, .access-status strong { display: block; }
.access-status span { margin-bottom: 5px; font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.access-status p { margin: 7px 0 0; font-size: .8rem; }
.panel h3 { margin: 18px 18px 8px; color: var(--navy); font-size: .84rem; }
.month-list { display: flex; flex-wrap: wrap; gap: 7px; padding: 0 18px 20px; }
.filter-row { display: flex; align-items: center; gap: 12px; padding: 13px 20px; background: #f8fafb; border-bottom: 1px solid var(--line); }
.filter-row > label, .filter-label { color: var(--ink-soft); font-size: .76rem; }
.filter-row select { padding: 7px 28px 7px 9px; color: var(--ink); background: white; border: 1px solid var(--line); border-radius: 7px; }
.filter-row input { min-width: 260px; padding: 8px 10px; color: var(--ink); background: white; border: 1px solid var(--line); border-radius: 7px; }
.multi-select { position: relative; min-width: 190px; }
.multi-select summary {
  position: relative;
  padding: 7px 34px 7px 10px;
  color: var(--ink);
  background: white;
  border: 1px solid var(--line);
  border-radius: 7px;
  cursor: pointer;
  list-style: none;
  font-size: .82rem;
}
.multi-select summary::-webkit-details-marker { display: none; }
.multi-select summary::after {
  position: absolute;
  top: 50%;
  right: 11px;
  content: "▾";
  color: var(--ink-soft);
  transform: translateY(-50%);
}
.multi-select[open] summary { border-color: #91c8c1; box-shadow: 0 0 0 3px rgba(8,127,115,.1); }
.multi-select-menu {
  position: absolute;
  z-index: 8;
  top: calc(100% + 6px);
  left: 0;
  width: max-content;
  min-width: 230px;
  overflow: hidden;
  background: white;
  border: 1px solid var(--line);
  border-radius: 9px;
  box-shadow: 0 14px 32px rgba(16,46,67,.18);
}
.multi-select-options { max-height: 260px; overflow-y: auto; }
.multi-select-option {
  display: grid;
  grid-template-columns: 18px minmax(120px, 1fr) auto;
  align-items: center;
  gap: 9px;
  padding: 9px 11px;
  color: var(--ink);
  cursor: pointer;
  font-size: .8rem;
}
.multi-select-option:hover { background: #f4f8f8; }
.multi-select-option input { width: 16px; height: 16px; min-width: 0; margin: 0; accent-color: var(--teal); }
.multi-select-option small { color: var(--ink-soft); font-variant-numeric: tabular-nums; }
.multi-select-all { border-bottom: 1px solid var(--line); font-weight: 750; }
.error-panel { padding: 24px; }

.project-chart-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(280px, .55fr);
  gap: 18px;
  margin-bottom: 18px;
}
.project-chart-grid .panel { min-width: 0; margin-bottom: 0; }
.project-chart-filter { margin-bottom: 0; padding: 14px 18px 8px; }
.project-chart-filter select { min-width: 220px; }
.project-breakdown-chart { min-height: 0; }
.project-chart-copy { display: flex; justify-content: space-between; gap: 16px; padding: 0 18px 10px; }
.project-chart-copy strong { color: var(--navy); }
.project-chart-copy span { color: var(--ink-soft); font-size: .75rem; }
.project-breakdown-list { display: grid; gap: 9px; padding: 0 18px 17px; }
.project-breakdown-row { display: grid; grid-template-columns: minmax(150px, .9fr) minmax(110px, 1fr); align-items: center; gap: 14px; }
.project-breakdown-row > div { display: flex; min-width: 0; justify-content: space-between; gap: 10px; }
.project-breakdown-row strong { overflow: hidden; color: var(--ink); font-size: .76rem; text-overflow: ellipsis; white-space: nowrap; }
.project-breakdown-row span { flex: 0 0 auto; color: var(--ink-soft); font-size: .7rem; font-variant-numeric: tabular-nums; }
.project-breakdown-row progress { height: 7px; }
.project-status-summary { display: grid; gap: 14px; padding: 16px 18px 18px; }
.project-status-total { display: flex; align-items: baseline; gap: 8px; }
.project-status-total strong { color: var(--navy); font-size: 1.75rem; line-height: 1; }
.project-status-total span { color: var(--ink-soft); font-size: .75rem; }
.project-status-list { display: grid; gap: 10px; }
.project-status-row { display: grid; gap: 5px; }
.project-status-row > div { display: grid; grid-template-columns: 10px minmax(0, 1fr) auto 34px; align-items: center; gap: 8px; font-size: .76rem; }
.project-status-row strong { color: var(--navy); font-variant-numeric: tabular-nums; }
.project-status-row small { color: var(--ink-soft); text-align: right; font-variant-numeric: tabular-nums; }
.project-status-row progress { height: 7px; }
.project-legend-swatch { width: 10px; height: 10px; border-radius: 50%; }
.project-status-row.segment-0 .project-legend-swatch { background: var(--teal); }
.project-status-row.segment-1 .project-legend-swatch { background: #e69a31; }
.project-status-row.segment-2 .project-legend-swatch { background: #577b9b; }
.project-status-row.segment-3 .project-legend-swatch { background: #9c69a5; }
.project-status-row.segment-1 progress::-webkit-progress-value { background: #e69a31; }
.project-status-row.segment-1 progress::-moz-progress-bar { background: #e69a31; }
.project-status-row.segment-2 progress::-webkit-progress-value { background: #577b9b; }
.project-status-row.segment-2 progress::-moz-progress-bar { background: #577b9b; }
.project-status-row.segment-3 progress::-webkit-progress-value { background: #9c69a5; }
.project-status-row.segment-3 progress::-moz-progress-bar { background: #9c69a5; }
.project-balance-heading, .project-balance-row { display: grid; grid-template-columns: minmax(180px, 1.2fr) minmax(150px, .8fr) minmax(150px, .8fr); gap: 16px; align-items: center; }
.project-balance-heading { padding: 12px 20px 8px; color: var(--ink-soft); font-size: .68rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.project-balance-list { padding: 0 20px; }
.project-balance-row { min-height: 48px; border-top: 1px solid var(--line); }
.project-balance-row > strong { overflow: hidden; color: var(--ink); font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }
.project-balance-row > span { display: grid; gap: 2px; }
.project-balance-row small { display: none; color: var(--ink-soft); font-size: .66rem; }
.project-balance-row b { color: var(--navy); font-size: .8rem; font-variant-numeric: tabular-nums; }
.project-balance-row .customer b { color: var(--teal-dark); }
.project-balance-row .vendor b { color: #9a5e0b; }
.project-balance-note { margin: 0; padding: 11px 20px 15px; color: var(--ink-soft); border-top: 1px solid var(--line); font-size: .7rem; }

footer { display: flex; justify-content: space-between; width: min(1320px, calc(100% - 48px)); margin: 0 auto; padding: 24px 0 38px; color: var(--ink-soft); border-top: 1px solid var(--line); font-size: .75rem; }

.login-body {
  min-height: 100vh;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at 18% 20%, rgba(216,239,116,.22), transparent 30%),
    linear-gradient(140deg, #102d24 0%, var(--forest) 56%, var(--forest-2) 140%);
}
.login-shell { width: min(440px, calc(100% - 32px)); }
.login-panel { padding: 38px; background: rgba(255,255,255,.97); border: 1px solid rgba(255,255,255,.5); border-radius: 18px; box-shadow: 0 30px 80px rgba(0,0,0,.25); }
.login-panel .brand-mark { margin-bottom: 28px; }
.login-panel h1 { font-size: 2.25rem; line-height: 1.05; }
.login-copy { margin: 14px 0 26px; color: var(--ink-soft); line-height: 1.55; }
.login-form { display: grid; gap: 9px; }
.login-form label { color: var(--navy); font-size: .78rem; font-weight: 750; }
.login-form input { width: 100%; padding: 12px 13px; border: 1px solid #b8c8cf; border-radius: 9px; outline: none; }
.login-form input:focus { border-color: var(--teal); box-shadow: 0 0 0 3px rgba(8,127,115,.13); }
.login-form button { margin-top: 5px; padding: 12px 15px; color: white; background: var(--teal); border: 0; border-radius: 9px; cursor: pointer; font-weight: 750; }
.login-form button:hover { background: var(--teal-dark); }
.form-error { margin: 2px 0; color: var(--red); font-size: .79rem; }
.microsoft-login { display: flex; align-items: center; justify-content: center; gap: 12px; width: 100%; padding: 12px 15px; color: #fff; background: var(--teal); border-radius: 9px; text-decoration: none; font-weight: 750; }
.microsoft-login:hover { background: var(--teal-dark); }
.microsoft-login:focus-visible { outline: 3px solid rgba(8,127,115,.26); outline-offset: 3px; }
.microsoft-mark { display: grid; grid-template-columns: repeat(2, 7px); gap: 2px; }
.microsoft-mark i { display: block; width: 7px; height: 7px; background: #fff; }
.login-footnote { margin: 18px 0 0; color: rgba(255,255,255,.72); text-align: center; font-size: .72rem; }

@media (max-width: 960px) {
  .metrics { grid-template-columns: repeat(2, 1fr); }
  .finance-kpis { grid-template-columns: repeat(2, 1fr); }
  .two-column { grid-template-columns: 1fr; }
  .hero { grid-template-columns: 1fr; gap: 22px; }
  .hero-status { min-width: 0; }
  .control-grid, .role-grid { grid-template-columns: 1fr; }
  .overdue-payment-list ul { grid-template-columns: 1fr; }
  .payment-coverage { grid-template-columns: 1fr; }
  .tax-summary-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .payment-coverage article { border-right: 0; border-bottom: 1px solid var(--line); }
  .payment-coverage article:last-child { border-bottom: 0; }
  .control-grid article, .role-grid article { border-right: 0; }
  .launch-banner { grid-template-columns: 1fr; }
  .campaign-workspace-hero { grid-template-columns: 1fr; }
  .employee-detail-heading { grid-template-columns: 1fr; }
  .employee-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .employee-facts > div:nth-child(3n) { border-right: 1px solid var(--line); }
  .employee-facts > div:nth-child(2n) { border-right: 0; }
  .project-chart-grid { grid-template-columns: 1fr; }
}

@media (max-width: 650px) {
  .shell, footer { width: min(100% - 24px, 1320px); }
  .shell { padding-top: 25px; }
  .topbar { padding-inline: 14px; }
  .sync-state, .secondary-button { display: none; }
  .metrics { grid-template-columns: 1fr 1fr; gap: 9px; }
  .metric-card { min-height: 124px; padding: 16px; }
  .metric-card strong { font-size: 1.55rem; }
  .nav-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nav-panel { display: grid; grid-template-columns: 1fr 1fr; }
  .tab { width: 100%; padding-inline: 10px; }
  .panel-header { display: grid; gap: 13px; }
  .section-intro { display: grid; gap: 10px; }
  .section-intro > p { text-align: left; }
  .gap-row { grid-template-columns: 95px 1fr; }
  .gap-row .row-link { grid-column: 2; }
  .watch-grid.four { grid-template-columns: repeat(2, 1fr); }
  .link-grid { grid-template-columns: 1fr; }
  footer { gap: 20px; }
  .login-panel { padding: 27px; }
  .scenario-row { grid-template-columns: 102px 1fr; }
  .scenario-row > span { grid-column: 2; }
  .finance-kpis, .gap-board, .confidence-distribution, .response-grid, .plan-columns { grid-template-columns: 1fr; }
  .payment-alert { align-items: stretch; flex-direction: column; }
  .payment-alert-facts { grid-template-columns: 1fr 1fr; }
  .overdue-payment-heading { align-items: flex-start; flex-direction: column; }
  .overdue-payment-section > header { align-items: flex-start; flex-direction: column; }
  .overdue-payment-list li { grid-template-columns: 1fr; gap: 4px; }
  .payment-boundary { grid-template-columns: 1fr; }
  .tax-summary-kpis { grid-template-columns: 1fr; }
  .payment-boundary > div { border-right: 0; border-bottom: 1px solid var(--line); }
  .payment-boundary > div:last-child { border-bottom: 0; }
  .gap-board article, .confidence-distribution > div, .response-grid > div, .plan-columns section { border-right: 0; }
  .campaign-brief { grid-template-columns: 1fr; }
  .campaign-step { grid-template-columns: 1fr; }
  .campaign-schedule, .campaign-form-actions { align-items: stretch; flex-direction: column; }
  .campaign-schedule > div { min-width: 0; }
  .expense-privacy-note { grid-template-columns: 1fr; }
  .expense-tabs { width: 100%; display: grid; grid-template-columns: 1fr; }
  .employee-facts, .employee-register-notes { grid-template-columns: 1fr; }
  .employee-facts > div, .employee-facts > div:nth-child(3n), .employee-register-notes article { border-right: 0; }
  .employee-register-notes article { border-bottom: 1px solid var(--line); }
  .employee-register-notes article:last-child { border-bottom: 0; }
  .employee-source-state { align-items: flex-start; flex-direction: column; }
  .employee-filters { align-items: stretch; flex-direction: column; }
  .employee-filters input, .employee-filters select { width: 100%; min-width: 0; }
  .project-chart-filter { align-items: stretch; flex-direction: column; }
  .project-chart-filter select { width: 100%; min-width: 0; }
  .project-chart-copy { align-items: flex-start; flex-direction: column; gap: 3px; }
  .project-breakdown-row { grid-template-columns: 1fr; gap: 5px; }
  .project-balance-heading { display: none; }
  .project-balance-list { padding-top: 5px; }
  .project-balance-row { grid-template-columns: 1fr 1fr; gap: 8px 14px; padding: 11px 0; }
  .project-balance-row > strong { grid-column: 1 / -1; }
  .project-balance-row small { display: block; }
  .stage-row { grid-template-columns: 104px minmax(80px, 1fr) 28px; }
  .quarter-chart { padding-inline: 12px; }
  .warmup-monitor-chart { height: auto; grid-template-columns: 1fr; align-items: stretch; padding-inline: 12px; }
  .warmup-monitor-column { grid-template-columns: 105px 1fr auto; gap: 9px; align-items: center; justify-items: start; text-align: left; }
  .warmup-bars { width: 105px; height: 95px; grid-row: 1 / span 3; }
  .warmup-monitor-column > strong, .warmup-monitor-column > small { margin: 0; }
}

/* Cash and growth overview: exact values remain readable without chart colour. */
.source-coverage { display: grid; gap: 6px; padding: 16px 20px; margin-bottom: 20px; border: 1px solid #c7dcd5; border-left: 4px solid #176d55; border-radius: 12px; background: #f4f9f6; font-size: .85rem; line-height: 1.5; }
.source-coverage small { color: #536863; }
.source-warning { border-color: #ce9d48; background: #fff8e9; }
.growth-columns { align-items: stretch; }
.cash-trend { padding: 6px 22px 16px; display: grid; gap: 15px; }
.cash-month > strong { font-size: .85rem; }
.cash-series { display: grid; grid-template-columns: 28px minmax(50px, 1fr) minmax(110px, auto); gap: 10px; align-items: center; margin: 5px 0; font-size: .78rem; }
.cash-series progress { width: 100%; height: 11px; border: none; border-radius: 4px; overflow: hidden; accent-color: #19725a; }
.cash-series progress::-webkit-progress-bar { background: #e8efec; }
.cash-series progress::-webkit-progress-value { background: #19725a; }
.cash-out progress::-webkit-progress-value { background: #b66b43; }
.cash-out progress { accent-color: #b66b43; }
.cash-series b { text-align: right; font-variant-numeric: tabular-nums; }
.cash-month small { color: #5f716a; font-size: .74rem; }
.chart-note { padding: 0 22px 18px; margin: 0; color: #5d6e66; font-size: .79rem; line-height: 1.6; }
.growth-pipeline { padding: 0 24px 10px; }
.growth-count { display: block; font-size: 3.4rem; color: #17634c; font-weight: 700; letter-spacing: -.05em; }
.growth-pipeline p { color: #586961; font-size: .85rem; line-height: 1.6; }
.growth-pipeline .chart-note { padding: 0; }
.pipeline-value { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 18px 0; border-bottom: 1px solid #e3e9e5; }
.pipeline-value strong { font-size: 1.3rem; color: #183e30; }
.pipeline-value span { font-size: .78rem; color: #596f63; }
.growth-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 20px 0; }
.growth-actions button { display: grid; gap: 10px; padding: 20px; border: 1px solid #cbd9d2; border-radius: 12px; background: #fff; color: #183e30; text-align: left; cursor: pointer; font: inherit; }
.growth-actions button:hover { border-color: #17634c; background: #f5faf7; }
.growth-actions span { font-size: .82rem; line-height: 1.5; color: #5e6e66; }
@media (max-width: 760px) { .growth-actions { grid-template-columns: 1fr; } .cash-trend { padding-inline: 14px; } .cash-series { grid-template-columns: 24px minmax(35px, 1fr) 112px; gap: 6px; } .pipeline-value { flex-wrap: wrap; } }

.transaction-drilldown summary { cursor: pointer; padding: 1rem 0; color: var(--navy); font-weight: 700; }
