/* Revenue & pacing (v9 P2, #/revpace): page styles on top of v9.css (tokens and the .cc-* card system). */
.cc-span-6 { grid-column: span 6; }
@media (max-width: 1100px) { .cc-span-6 { grid-column: span 12; } }
.rp-period { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--v9-3); }
.rp-hero .v { font: var(--v9-f-kpi); font-size: 40px; letter-spacing: -.03em; }
.rp-hero .of { padding-bottom: 4px; font-size: 14px; }
.rp-hero .of b { color: var(--v9-ink); font-weight: 600; }
.rp-facts .cc-fact b { font-size: 16px; }
.rp-legend { margin-top: var(--v9-3); }
.rp-legend .rp-tick, .rp-legend .rp-pace { width: 3px; height: 12px; border-radius: 2px; background: var(--v9-ink2); }
.rp-legend .rp-pace { width: 2px; background: var(--v9-ink); }

/* by business: small multiples on a shared scale */
.rp-multi { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: var(--v9-3); }
.rp-biz { border: 1px solid var(--v9-line); border-radius: var(--v9-r-sm); padding: 12px 14px; background: var(--v9-card2); min-width: 0; display: grid; gap: 4px; }
.rp-bh { display: flex; justify-content: space-between; align-items: center; gap: var(--v9-2); margin-bottom: 4px; }
.rp-bh b { font: 600 13.5px/1.25 'Instrument Sans', system-ui, sans-serif; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rp-line { display: grid; grid-template-columns: 26px minmax(0, 1fr); align-items: center; gap: 6px; }
.rp-pl { font: var(--v9-f-micro); color: var(--v9-mute); text-transform: uppercase; }
.rp-nums { font: var(--v9-f-small); color: var(--v9-ink2); padding-left: 32px; font-variant-numeric: tabular-nums; margin-bottom: 4px; }
.rp-st { color: var(--v9-mute); }
.cc-table tr.rp-tot td { font-weight: 650; color: var(--v9-ink); border-top: 1px solid var(--v9-line2); }

/* what it takes: the back-solve ladder */
.rp-gap { margin: 0 0 var(--v9-3); color: var(--v9-ink2); font: var(--v9-f-small); }
.rp-gap b { font: 600 22px/1.1 'Instrument Sans', system-ui, sans-serif; color: var(--v9-ink); margin-right: 6px; }
.rp-ladder { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.rp-ladder li { display: grid; grid-template-columns: 150px minmax(0, 1fr) 64px; grid-template-areas: "l t v" ". r r"; gap: 2px 10px; align-items: center; }
.rp-ladder .l { grid-area: l; font: 600 13px/1.2 'Instrument Sans', system-ui, sans-serif; }
.rp-ladder .t { grid-area: t; height: 10px; border-radius: 4px; background: var(--v9-track); overflow: hidden; }
.rp-ladder .t i { display: block; height: 100%; border-radius: 4px; background: var(--v9-s1); }
.rp-ladder b { grid-area: v; text-align: right; font: 600 14px/1 'Instrument Sans', system-ui, sans-serif; font-variant-numeric: tabular-nums; }
.rp-ladder b.nm { color: var(--v9-mute); }
.rp-ladder .r { grid-area: r; font: var(--v9-f-small); color: var(--v9-mute); }
.rp-ladder .r i { font-style: normal; color: var(--v9-ink2); }

/* MRR */
.rp-mrr-head { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--v9-2); margin-bottom: var(--v9-4); }
.rp-mrr-now { background: var(--v9-sunk); border-radius: var(--v9-r-sm); padding: 10px 12px; min-width: 0; }
.rp-mrr-now b { display: block; font: 600 20px/1.2 'Instrument Sans', system-ui, sans-serif; }
.rp-mrr-now span { color: var(--v9-mute); font: var(--v9-f-small); }
.rp-mrr-now .rp-dim { color: var(--v9-mute); font-weight: 400; }

@media (max-width: 640px) {
  .rp-hero .v { font-size: 32px; }
  .rp-hero { gap: var(--v9-2); }
  .rp-facts .cc-fact b { font-size: 14px; }
  .rp-multi { grid-template-columns: minmax(0, 1fr); }
  .rp-ladder li { grid-template-columns: 112px minmax(0, 1fr) 44px; gap: 2px 6px; }
  .rp-ladder .l { font-size: 12px; }
  .rp-mrr-now b { font-size: 16px; }
}
/* A17: KPI pacing rows and the week's funnel (kit Bar and Badge; only the layout here). */
.rp-lede { margin-top: 0; } .rp-lede b { color: var(--v9-ink); }
.rp-kpis { list-style: none; margin: 0 0 var(--v9-3); padding: 0; display: grid; gap: 8px; }
.rp-kpis li { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(60px, 1fr) minmax(0, auto) auto; gap: 10px; align-items: center; font: var(--v9-f-small); }
.rp-kpis .l { color: var(--v9-ink2); min-width: 0; }
.rp-kpis b { font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap; }
.rp-kpis b.nm { color: var(--v9-mute); font-weight: 500; }
.rp-of { color: var(--v9-mute); font-weight: 500; font: var(--v9-f-small); }
.rp-leak { display: flex; gap: 8px; align-items: flex-start; margin: 0 0 var(--v9-3); font: var(--v9-f-small); color: var(--v9-ink2); }
.rp-leak b { color: var(--v9-ink); }
.rp-fun { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.rp-fun li { display: grid; gap: 4px; padding-left: 8px; border-left: 2px solid transparent; }
.rp-fun li.leak { border-left-color: var(--v9-crit); }
.rp-fun .h { display: flex; justify-content: space-between; gap: 8px; flex-wrap: wrap; font: var(--v9-f-small); }
.rp-fun .h .l { color: var(--v9-ink2); font-weight: 600; }
.rp-fun .h b { font-variant-numeric: tabular-nums; }
.rp-fun .bars { display: grid; gap: 3px; }
.rp-fun .steps { display: flex; flex-wrap: wrap; gap: 4px 12px; }
.rp-step { color: var(--v9-mute); font: var(--v9-f-small); } .rp-step b { color: var(--v9-ink); }
.rp-fun .cc-note { margin: 0; }
.rp [data-metric] { cursor: pointer; }
@media (max-width: 640px) { .rp-kpis li { grid-template-columns: minmax(0, 1fr) auto; } .rp-kpis .t { grid-column: 1 / -1; order: 3; } }
