
#page-sales .sa-kpi[data-pop]:focus-visible { outline: 2px solid rgba(201,168,76,0.6); outline-offset: 2px; }
/* interactive-tile affordance (S2 wired: data-pop tiles are keyboard-reachable buttons) */
#page-sales .sao-kpi[data-pop] { cursor: pointer; }
#page-sales .sao-kpi[data-pop]:focus-visible { outline: 2px solid rgba(201,168,76,0.6); outline-offset: 2px; }
#page-sales .sao-kpi.sao-pop-open { border-color: rgba(201,168,76,0.32); box-shadow: 0 22px 44px -26px #000, 0 0 0 1px rgba(201,168,76,0.22), 0 0 30px -10px rgba(201,168,76,0.5); }

/* ════════════════════════════════════════════════════════════════════════════
   FIX_SALES_COMMAND_CENTRE_S1_2026_06_17 — Sales Command Centre (Overview) styles, scoped
   under #page-sales. Built TO design_samples/sales/sales_landing_command.html at ultra-HD
   fidelity (the founder sample is the spec). Literal hex values mirror the sample's :root
   tokens (the platform's own :root names differ; inlining the sample's exact palette
   preserves the sample aesthetic). ASCII-only comments throughout (a non-ASCII char
   silently drops the rule from the CSSOM - the established L18.8 lesson). MIRRORS the
   shipped #page-risk rk-* CSS structure (same sample family) re-prefixed sa-*, with the
   SVG tapered pipeline FUNNEL hero replacing the likelihood x impact risk-matrix. S1
   (landing): KPI band + funnel hero + needs-attention. The KPI expand-chevron + hover-hint
   affordances render for VISUAL FIDELITY but their click/hover handlers are UNWIRED (the
   hover-peek popovers + click-expand modals are Sales S2 - their CSS lands with S2 too).
   ════════════════════════════════════════════════════════════════════════════ */
#page-sales .sa-head-row { display: flex; align-items: flex-end; gap: 16px; }
#page-sales .sa-head-row h1 {
  font-family: 'Montserrat', sans-serif; font-size: 26px; font-weight: 800;
  letter-spacing: -.01em; line-height: 1; color: #F0EBE2; margin: 0;
}
#page-sales .sa-head-row .sa-when { font-size: 11.5px; color: #8A857D; padding-bottom: 2px; }
/* FIX_KPIWIN_P2_ROLLOUT_2026_07_01 — Sales header: .sa-head-spacer pushes the reusable window
   control top-right; .sa-asof is the snapshot "as of today" marker. Sales WINDOWED tiles (Joined /
   Conversion / Win-rate — period derivations) re-derive on the range; SNAPSHOT tiles (open pipeline
   now / active trials now / composite health) carry the marker under a non-MTD window. */
#page-sales .sa-head-row .sa-head-spacer { flex: 1 1 auto; }
#page-sales .sa-asof {
  font-size: 10px; color: #8A857D; font-style: italic; margin-left: 4px;
  border: 1px solid rgba(255,255,255,0.08); border-radius: 999px; padding: 1px 7px;
  white-space: nowrap;
}
#page-sales .sa-statusline {
  display: flex; align-items: center; gap: 10px; margin: 10px 0 18px;
  font-size: 13.5px; color: #C4BFB6;
}
#page-sales .sa-statusline .sa-dot {
  width: 10px; height: 10px; border-radius: 50%; background: #E8943A;
  box-shadow: 0 0 11px #E8943A; position: relative; flex: 0 0 auto;
}
#page-sales .sa-statusline .sa-dot::after {
  content: ""; position: absolute; inset: -5px; border-radius: 50%;
  border: 1px solid rgba(232,148,58,0.4); animation: saPulse 2.6s ease-out infinite;
}
#page-sales .sa-statusline b { color: #F0EBE2; font-weight: 700; }
#page-sales .sa-statusline .sa-fix { color: #E8943A; font-weight: 600; }
/* exposure-overlay posture line (Sales spine, parallel to Risk broker-gate / Legal counsel-gate) */
#page-sales .sa-statusline .sa-posture { color: #8A857D; font-size: 12px; font-style: italic; }

/* KPI band - 6 tiles (sample .kpis / .kpi) */
#page-sales .sa-kpis { display: grid; grid-template-columns: repeat(6, 1fr); gap: 13px; margin-bottom: 18px; }
#page-sales .sa-kpi {
  position: relative; overflow: hidden;
  background: linear-gradient(165deg, #262320, #1f1c19);
  border: 1px solid rgba(255,255,255,0.07); border-radius: 14px; padding: 15px 16px 14px;
  box-shadow: 0 16px 34px -28px #000, inset 0 1px 0 rgba(255,255,255,0.05);
  transition: transform .2s cubic-bezier(0.4,0,0.2,1), box-shadow .2s cubic-bezier(0.4,0,0.2,1), border-color .2s cubic-bezier(0.4,0,0.2,1);
}
/* per-tile accent rail (sample .k-pipe/.k-trials/.k-conv/.k-joined/.k-win/.k-health) */
#page-sales .sa-kpi.sa-k-pipe::before { background: #C9A84C; }
#page-sales .sa-kpi.sa-k-trials::before { background: #E8943A; }
#page-sales .sa-kpi.sa-k-conv::before { background: #5B9BD5; }
#page-sales .sa-kpi.sa-k-joined::before { background: #4CAF7D; }
#page-sales .sa-kpi.sa-k-win::before { background: #3FB6A8; }
#page-sales .sa-kpi.sa-k-health::before { background: #C9A84C; }
#page-sales .sa-kpi .sa-lbl {
  font-size: 9.5px; letter-spacing: 1.2px; text-transform: uppercase; color: #8A857D;
  font-weight: 700; margin-bottom: 7px;
}
#page-sales .sa-kpi .sa-val {
  font-family: 'Montserrat', sans-serif; font-size: 23px; font-weight: 800;
  color: #F0EBE2; line-height: 1; font-variant-numeric: tabular-nums;
}
#page-sales .sa-kpi .sa-sub {
  font-size: 11.5px; margin-top: 7px; color: #8A857D; display: flex; align-items: center; gap: 5px;
}
#page-sales .sa-kpi .sa-sub .sa-delta { font-weight: 700; }
#page-sales .sa-kpi .sa-sub .sa-pos { color: #4CAF7D; }
#page-sales .sa-kpi .sa-sub .sa-warn { color: #E8943A; }
#page-sales .sa-kpi .sa-sub .sa-neg { color: #E05555; }
#page-sales .sa-kpi .sa-sub .sa-blue { color: #5B9BD5; }
/* expand affordance chevron (S1 inert - visual fidelity only; click/hover wiring is S2) */
#page-sales .sa-kpi .sa-expand {
  position: absolute; right: 11px; bottom: 11px; width: 16px; height: 16px;
  opacity: .38; transition: opacity .2s cubic-bezier(0.4,0,0.2,1), transform .2s cubic-bezier(0.4,0,0.2,1);
}
#page-sales .sa-kpi:hover .sa-expand { opacity: .9; transform: scale(1.12); }
#page-sales .sa-kpi .sa-expand svg { width: 16px; height: 16px; stroke: #C9A84C; }
#page-sales .sa-kpi .sa-hint-i {
  position: absolute; left: 16px; bottom: 11px; font-size: 8.5px; letter-spacing: .04em;
  color: #8A857D; opacity: 0; transition: opacity .2s cubic-bezier(0.4,0,0.2,1);
  font-weight: 600; white-space: nowrap; pointer-events: none;
}
#page-sales .sa-kpi:hover .sa-hint-i { opacity: .7; }
#page-sales .sa-kpi .sa-hint-i b { color: #C9A84C; font-weight: 700; }

/* layout: funnel hero + attention (sample .grid 1.5fr 1fr) */
#page-sales .sa-grid { display: grid; grid-template-columns: 1.5fr 1fr; gap: 18px; }
#page-sales .sa-panel {
  background: linear-gradient(170deg, #252220, #1e1b19);
  border: 1px solid rgba(255,255,255,0.07); border-radius: 16px; padding: 18px 20px;
  box-shadow: 0 22px 50px -36px #000, inset 0 1px 0 rgba(255,255,255,0.05);
}
#page-sales .sa-panel-h { display: flex; align-items: center; justify-content: space-between; margin-bottom: 3px; }
#page-sales .sa-panel-h h3 {
  font-family: 'Montserrat', sans-serif; font-size: 14px; letter-spacing: .4px;
  color: #F0EBE2; font-weight: 700; margin: 0;
}
#page-sales .sa-panel-h .sa-hint { font-size: 11px; color: #8A857D; }
#page-sales .sa-panel-sub { font-size: 11.5px; color: #8A857D; margin: 2px 0 14px; }

/* pipeline funnel key visual (sample .funnel-wrap / #funnelSvg / .funnel-legend) */
#page-sales .sa-funnel-wrap { position: relative; padding: 4px 2px 2px; }
#page-sales #sa-funnelSvg { width: 100%; height: 268px; display: block; }
#page-sales .sa-funnel-legend { display: flex; gap: 18px; margin-top: 12px; font-size: 10.5px; color: #8A857D; flex-wrap: wrap; }
#page-sales .sa-funnel-legend span { display: inline-flex; align-items: center; gap: 6px; }
#page-sales .sa-funnel-legend .sa-sw { width: 10px; height: 10px; border-radius: 3px; display: inline-block; }
#page-sales .sa-funnel-legend b { color: #C4BFB6; font-weight: 600; }

/* needs-attention list (sample .att-head / .att-list / .att) */
#page-sales .sa-att-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
#page-sales .sa-att-head h3 {
  font-family: 'Montserrat', sans-serif; font-size: 14px; letter-spacing: .4px;
  display: flex; align-items: center; gap: 9px; color: #F0EBE2; font-weight: 700; margin: 0;
}
#page-sales .sa-att-head h3 .sa-glyph {
  width: 24px; height: 24px; border-radius: 8px;
  background: linear-gradient(150deg, rgba(224,85,85,0.24), rgba(232,148,58,0.12));
  display: grid; place-items: center; box-shadow: inset 0 1px 0 rgba(255,255,255,0.1);
}
#page-sales .sa-att-head h3 .sa-glyph svg { width: 14px; height: 14px; }
#page-sales .sa-att-head .sa-count {
  font-family: 'Montserrat', sans-serif; font-size: 10.5px; font-weight: 700; color: #F0EBE2;
  background: rgba(232,148,58,0.16); border: 1px solid rgba(232,148,58,0.36);
  border-radius: 999px; padding: 3px 11px; letter-spacing: .03em;
}
#page-sales .sa-att-list { display: flex; flex-direction: column; gap: 9px; }
/* FIX_HONEST_EMPTY_PRESERVE_STRUCTURE_S1_2026_06_20 — honest-empty skeleton rows for the Sales
   needs-attention panel on a real account (structure preserved, no fabricated rows). Mirrors the
   #page-procurement .proc-att-skel / .proc-skel-line idioms verbatim, Sales-scoped. */
#page-sales .sa-att-skel {
  display: flex; align-items: center; gap: 12px; padding: 11px 13px; border-radius: 12px;
  background: rgba(255,255,255,0.014); border: 1px solid rgba(255,255,255,0.06);
  position: relative; overflow: hidden;
}
#page-sales .sa-att-skel .sa-skel-rank { font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 12px; color: #8A857D; opacity: .45; width: 16px; text-align: center; flex: none; }
#page-sales .sa-att-skel .sa-skel-ico { width: 32px; height: 32px; border-radius: 9px; flex: none; background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.07); }
#page-sales .sa-att-skel .sa-skel-body { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 7px; }
#page-sales .sa-att-skel .sa-skel-line { height: 9px; border-radius: 5px; background: rgba(255,255,255,0.05); }
#page-sales .sa-att-skel .sa-skel-line.w1 { width: 62%; } #page-sales .sa-att-skel .sa-skel-line.w2 { width: 84%; }
#page-sales .sa-att-skel .sa-skel-act { flex: none; }
#page-sales .sa-att-empty-note {
  margin-top: 12px; text-align: center; font-size: 12.5px; color: #8A857D; line-height: 1.6;
  padding: 14px 16px; border-radius: 12px; background: rgba(255,255,255,0.014); border: 1px dashed rgba(255,255,255,0.08);
}
#page-sales .sa-att-empty-note b { color: #B8B2A8; }
#page-sales .sa-att {
  display: flex; align-items: center; gap: 12px; padding: 11px 13px; border-radius: 12px;
  background: rgba(255,255,255,0.018); border: 1px solid rgba(255,255,255,0.07);
  transition: .18s cubic-bezier(0.4,0,0.2,1); position: relative; overflow: hidden;
}
#page-sales .sa-att.sa-p1 {
  --sa-lvl: #E05555; border-color: rgba(224,85,85,0.36);
  background: linear-gradient(108deg, rgba(224,85,85,0.12), rgba(255,255,255,0.018) 46%); padding: 14px 15px;
}
#page-sales .sa-att.sa-p1::before { box-shadow: 0 0 18px rgba(224,85,85,0.5); }
#page-sales .sa-att.sa-p1::after {
  content: ""; position: absolute; inset: 0;
  background: radial-gradient(360px 140px at 0% 50%, rgba(224,85,85,0.10), transparent 70%); pointer-events: none;
}
#page-sales .sa-att.sa-amber { --sa-lvl: #E8943A; }
#page-sales .sa-att.sa-red { --sa-lvl: #E05555; }
#page-sales .sa-att.sa-blue { --sa-lvl: #5B9BD5; }
#page-sales .sa-att .sa-rank {
  font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 12px; color: #8A857D;
  width: 16px; text-align: center; flex-shrink: 0; z-index: 1;
}
#page-sales .sa-att.sa-p1 .sa-rank { font-size: 17px; color: #E05555; width: 20px; }
#page-sales .sa-att .sa-ico {
  width: 32px; height: 32px; border-radius: 9px; flex: none;
  display: flex; align-items: center; justify-content: center; z-index: 1;
}
#page-sales .sa-att.sa-p1 .sa-ico { width: 40px; height: 40px; border-radius: 11px; box-shadow: 0 0 18px -4px rgba(224,85,85,0.45); }
#page-sales .sa-att .sa-ico svg { width: 16px; height: 16px; }
#page-sales .sa-att.sa-p1 .sa-ico svg { width: 20px; height: 20px; }
#page-sales .sa-att .sa-ic-amber { background: rgba(232,148,58,0.14); } #page-sales .sa-att .sa-ic-amber svg { stroke: #E8943A; }
#page-sales .sa-att .sa-ic-gold { background: rgba(201,168,76,0.14); } #page-sales .sa-att .sa-ic-gold svg { stroke: #C9A84C; }
#page-sales .sa-att .sa-ic-red { background: rgba(224,85,85,0.14); } #page-sales .sa-att .sa-ic-red svg { stroke: #E05555; }
#page-sales .sa-att .sa-ic-blue { background: rgba(91,155,213,0.14); } #page-sales .sa-att .sa-ic-blue svg { stroke: #5B9BD5; }
#page-sales .sa-att-body { flex: 1; min-width: 0; z-index: 1; }
#page-sales .sa-att-top { display: flex; align-items: baseline; gap: 9px; flex-wrap: wrap; }
#page-sales .sa-att-top .sa-tt { font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 12.5px; color: #F0EBE2; }
#page-sales .sa-att.sa-p1 .sa-att-top .sa-tt { font-size: 14.5px; }
#page-sales .sa-att-top .sa-amt { font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 12.5px; }
#page-sales .sa-att .sa-desc { font-size: 11.5px; color: #8A857D; margin-top: 3px; line-height: 1.4; }
#page-sales .sa-att.sa-p1 .sa-desc { font-size: 12px; color: #C4BFB6; }
#page-sales .sa-att .sa-desc b { color: #C4BFB6; font-weight: 600; }
#page-sales .sa-att .sa-att-act { flex: none; z-index: 1; }
#page-sales .sa-att .sa-att-act .sa-btn {
  font-family: 'Montserrat', sans-serif; font-size: 11px; font-weight: 600; cursor: pointer;
  border-radius: 8px; padding: 7px 14px; border: 1px solid rgba(255,255,255,0.13);
  background: rgba(255,255,255,0.04); color: #C4BFB6; transition: all .18s cubic-bezier(0.4,0,0.2,1);
  white-space: nowrap; box-shadow: inset 0 1px 0 rgba(255,255,255,0.05);
}
#page-sales .sa-att .sa-att-act .sa-btn:hover { background: rgba(255,255,255,0.09); color: #F0EBE2; transform: translateY(-1px); border-color: #C9A84C; }
#page-sales .sa-att.sa-p1 .sa-att-act .sa-btn {
  background: linear-gradient(180deg, #E05555, #b94545); border-color: transparent; color: #fff;
  font-weight: 700; padding: 9px 18px; box-shadow: 0 4px 16px -5px rgba(224,85,85,0.5);
}

#page-sales .sa-footnote { font-size: 10px; color: #8A857D; margin-top: 18px; text-align: center; opacity: .7; }

@media (prefers-reduced-motion: reduce) {
  #page-sales .sa-statusline .sa-dot::after { animation: none !important; }
}

/* ════════════════════════════════════════════════════════════════════════════
   FIX_SALES_QUOTES_S1_2026_06_17 — Quotes & Proposals drill-in styles, scoped under
   #page-sales. Built TO design_samples/sales/sales_quotes_proposals.html (sample CSS
   L322-595) at ultra-HD fidelity. Literal hex values mirror the sample's :root tokens.
   ASCII-only comments (a non-ASCII char silently drops the rule from the CSSOM - the
   established L18.8 lesson). The detail + proposal modals REUSE the shipped .rk-modal /
   .rk-mod-scrim shells (Risk drill-in); only the board / live-totals builder / forecast
   bars / follow-up list / proposal-document CSS is genuinely new substrate. WRITES NOTHING.
   ════════════════════════════════════════════════════════════════════════════ */
/* two-column work area: pipeline board (left) + builder (right) */
#page-sales .sq-grid { display: grid; grid-template-columns: 1.35fr 1fr; gap: 18px; align-items: start; margin-bottom: 18px; }
@media (max-width: 1180px) { #page-sales .sq-grid { grid-template-columns: 1fr; } }
#page-sales .sq-panel { background: linear-gradient(170deg, #252220, #1e1b19); border: 1px solid rgba(255,255,255,0.07); border-radius: 16px; padding: 18px 20px; box-shadow: 0 22px 50px -36px #000, inset 0 1px 0 rgba(255,255,255,0.05); }
#page-sales .sq-panel-h { display: flex; align-items: center; justify-content: space-between; margin-bottom: 3px; }
#page-sales .sq-panel-h h3 { font-family: 'Montserrat', sans-serif; font-size: 14px; letter-spacing: .4px; color: #F0EBE2; font-weight: 700; margin: 0; }
#page-sales .sq-panel-h .sq-hint { font-size: 11px; color: #8A857D; }
#page-sales .sq-panel-sub { font-size: 11.5px; color: #8A857D; margin: 2px 0 14px; }

/* ----- pipeline board (kanban) ----- */
#page-sales .sq-board-h { display: flex; align-items: center; justify-content: space-between; margin-bottom: 4px; }
#page-sales .sq-board-h h3 { font-family: 'Montserrat', sans-serif; font-size: 14px; letter-spacing: .4px; color: #F0EBE2; font-weight: 700; margin: 0; display: flex; align-items: center; gap: 9px; }
#page-sales .sq-board-h h3 .sq-glyph { width: 24px; height: 24px; border-radius: 8px; background: linear-gradient(150deg, rgba(201,168,76,0.24), rgba(201,168,76,0.08)); display: grid; place-items: center; box-shadow: inset 0 1px 0 rgba(255,255,255,0.1); }
#page-sales .sq-board-h h3 .sq-glyph svg { width: 14px; height: 14px; stroke: #C9A84C; }
#page-sales .sq-board-h .sq-count { font-family: 'Montserrat', sans-serif; font-size: 10.5px; font-weight: 700; color: #F0EBE2; background: rgba(201,168,76,0.14); border: 1px solid rgba(201,168,76,0.34); border-radius: 999px; padding: 3px 11px; letter-spacing: .03em; }
#page-sales .sq-board { display: grid; grid-template-columns: repeat(5, 1fr); gap: 11px; margin-top: 14px; align-items: start; }
/* FIX_MOBILE_PERCOMPONENT_OVERFLOW_2026_08_02 — head-of-block for the three phone arms
   this build ships (this one, plus the arms on the pipeline filter chip row and on the
   marketing analytics table; all cited by symbol anchor, never by line number).
   MECHANISM: at 375px the shell is INNOCENT. .crm-content is already pinned at 375,
   proven three ways in the investigation behind this build — hiding the nav entirely is
   a no-op, align-items: stretch is a no-op, and the rail measures navW 0 because it is
   display:none below 720. Every over-375 pixel is a DESCENDANT escaping .crm-content,
   which is why each fix is per-component and none is page-level. Here the five tracks
   plus each grid item's default min-width:auto floor the columns at min-content, so the
   board measured 510px inside a 375px column and the document scrolled to 576.
   FORM: an ID-scoped max-width 720px media arm sited IMMEDIATELY AFTER its base rule,
   copying the shipped sales pipeline board precedent (symbol anchor: the sp-board rule
   head in this same stylesheet). A media block contributes ZERO specificity — this arm
   ties the base rule at (1,1,0) and wins only by later source order, which the siting is
   what guarantees. Never edit the base declaration: changing the five-track template
   there would fix 375px and break every desktop width.
   PROSE NOTE, deliberate: this comment spells the at-rule keyword and the neighbouring
   selectors WITHOUT their sigils, because the brief's row 0.8 / 0.9 verification is a
   brace-balanced scan that would otherwise start inside this comment and span a phantom
   block — reword the prose, never loosen the check.
   DO NOT complete the pattern by adding #page-sales, #page-marketing, #page-procurement
   or #page-intelligence to the .crm-layout collapse set that sets flex-direction to
   column. It is an ANTI-FIX on these four pages, measured: quotes 576 -> 592, pipeline
   456 -> 472, analytics 665 -> 702. Once the container is a column, the flex-start
   cross-axis alignment on the shared .crm-layout base rule makes the horizontal axis the
   CROSS axis and .crm-content shrink-to-fits to a min-content larger than 375. The
   omission of these four pages from that set is load-bearing, not an oversight. */
/* FIX_MOBILE_PERCOMPONENT_OVERFLOW_2026_08_02 — arm 1 of 3: quote board, 576 -> 375. */
@media (max-width: 720px) { #page-sales .sq-board { grid-template-columns: 1fr; } }
#page-sales .sq-bcol { background: rgba(255,255,255,0.014); border: 1px solid rgba(255,255,255,0.07); border-radius: 13px; padding: 10px 9px 12px; min-height: 160px; display: flex; flex-direction: column; gap: 9px; transition: border-color .18s cubic-bezier(0.4,0,0.2,1), background .18s cubic-bezier(0.4,0,0.2,1); }
#page-sales .sq-bcol.sq-drop { border-color: rgba(201,168,76,0.5); background: rgba(201,168,76,0.05); }
#page-sales .sq-bcol-h { display: flex; align-items: center; justify-content: space-between; padding: 1px 4px 6px; border-bottom: 1px solid rgba(255,255,255,0.07); }
#page-sales .sq-bcol-h .sq-bh-l { font-size: 9.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #8A857D; display: flex; align-items: center; gap: 6px; }
#page-sales .sq-bcol-h .sq-bh-l i { width: 7px; height: 7px; border-radius: 50%; display: inline-block; flex: none; }
#page-sales .sq-bcol-h .sq-bh-n { font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 11px; color: #F0EBE2; }
#page-sales .sq-bcol-foot { margin-top: auto; padding-top: 7px; font-size: 9.5px; color: #8A857D; text-align: center; border-top: 1px dashed rgba(255,255,255,0.07); }
#page-sales .sq-bcol-foot b { color: #C4BFB6; font-family: 'Montserrat', sans-serif; font-weight: 700; }
#page-sales .sq-qcard { background: linear-gradient(168deg, #2a2723, #211e1b); border: 1px solid rgba(255,255,255,0.07); border-radius: 11px; padding: 11px 11px 10px; cursor: grab; position: relative; overflow: hidden; box-shadow: 0 10px 24px -20px #000, inset 0 1px 0 rgba(255,255,255,0.05); transition: transform .16s cubic-bezier(0.4,0,0.2,1), box-shadow .16s cubic-bezier(0.4,0,0.2,1), border-color .16s cubic-bezier(0.4,0,0.2,1), opacity .16s cubic-bezier(0.4,0,0.2,1); }
#page-sales .sq-qcard.sq-dragging { opacity: .45; cursor: grabbing; }
#page-sales .sq-qcard .sq-qc-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
#page-sales .sq-qcard .sq-qc-client { font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 11.5px; color: #F0EBE2; line-height: 1.25; }
#page-sales .sq-qcard .sq-qc-kind { font-size: 9px; color: #8A857D; margin-top: 2px; letter-spacing: .02em; }
#page-sales .sq-qcard .sq-qc-val { font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 13px; color: #F0EBE2; white-space: nowrap; }
#page-sales .sq-qcard .sq-qc-meta { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; margin-top: 9px; }
#page-sales .sq-qpill { font-family: 'Montserrat', sans-serif; font-size: 8.5px; font-weight: 700; letter-spacing: .03em; padding: 2px 7px; border-radius: 999px; border: 1px solid rgba(255,255,255,0.07); color: #8A857D; background: rgba(255,255,255,0.02); display: inline-flex; align-items: center; gap: 4px; }
#page-sales .sq-qpill.sq-warn { color: #E8943A; border-color: rgba(232,148,58,0.4); background: rgba(232,148,58,0.1); }
#page-sales .sq-qpill.sq-danger { color: #E05555; border-color: rgba(224,85,85,0.4); background: rgba(224,85,85,0.1); }
#page-sales .sq-qpill.sq-good { color: #4CAF7D; border-color: rgba(76,175,125,0.4); background: rgba(76,175,125,0.1); }
#page-sales .sq-qcard .sq-qc-next { font-size: 9.5px; color: #8A857D; margin-top: 8px; display: flex; align-items: center; gap: 5px; line-height: 1.35; }
#page-sales .sq-qcard .sq-qc-next svg { width: 11px; height: 11px; stroke: #C9A84C; flex: none; opacity: .85; }
#page-sales .sq-qcard .sq-qc-next b { color: #C4BFB6; font-weight: 600; }
#page-sales .sq-board-tip { margin-top: 11px; font-size: 10px; color: #8A857D; display: flex; align-items: center; gap: 7px; }
#page-sales .sq-board-tip svg { width: 12px; height: 12px; stroke: #C9A84C; opacity: .8; }

/* ----- quote builder ----- */
#page-sales .sq-builder-h { display: flex; align-items: center; justify-content: space-between; margin-bottom: 3px; }
#page-sales .sq-builder-h h3 { font-family: 'Montserrat', sans-serif; font-size: 14px; letter-spacing: .4px; color: #F0EBE2; font-weight: 700; margin: 0; display: flex; align-items: center; gap: 9px; }
#page-sales .sq-builder-h h3 .sq-glyph-t { width: 24px; height: 24px; border-radius: 8px; background: linear-gradient(150deg, rgba(63,182,168,0.24), rgba(63,182,168,0.08)); display: grid; place-items: center; box-shadow: inset 0 1px 0 rgba(255,255,255,0.1); }
#page-sales .sq-builder-h h3 .sq-glyph-t svg { width: 14px; height: 14px; stroke: #3FB6A8; }
#page-sales .sq-builder-h .sq-tag { font-family: 'Montserrat', sans-serif; font-size: 9px; font-weight: 700; letter-spacing: .04em; color: #C9A84C; background: rgba(201,168,76,0.12); border: 1px solid rgba(201,168,76,0.3); border-radius: 999px; padding: 3px 9px; }
#page-sales .sq-qb-client { display: flex; align-items: center; gap: 11px; margin: 12px 0 14px; padding: 11px 13px; border-radius: 12px; border: 1px solid rgba(255,255,255,0.07); background: rgba(255,255,255,0.018); }
#page-sales .sq-qbc-ava { width: 36px; height: 36px; border-radius: 10px; flex: none; display: grid; place-items: center; font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 13px; color: #16140F; background: linear-gradient(140deg, #C9A84C, #9c7f33); box-shadow: inset 0 1px 0 rgba(255,255,255,0.3); }
#page-sales .sq-qbc-t b { display: block; font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 13px; color: #F0EBE2; line-height: 1.2; }
#page-sales .sq-qbc-t span { font-size: 10.5px; color: #8A857D; }
#page-sales .sq-qbc-sw { margin-left: auto; font-size: 9.5px; color: #C9A84C; font-weight: 600; border: 1px solid rgba(201,168,76,0.3); border-radius: 8px; padding: 5px 10px; cursor: pointer; transition: .16s cubic-bezier(0.4,0,0.2,1); }
/* FIX_SALES_QUOTE_CREATE_S1_2026_09_05 (§3.1) -- New quote is the PRIMARY control (brief's own
   wording); margin-left:auto on THIS button (not sq-qbc-sw) claims the row's free space so the
   two controls sit together on the right, and the adjacent-sibling override below zeroes
   sq-qbc-sw's own auto margin so a second auto-margin claim cannot split them apart. */
#page-sales .sq-qbc-new { margin-left: auto; font-family: 'Montserrat', sans-serif; font-size: 10.5px; font-weight: 700; color: #16140F; background: linear-gradient(140deg, #C9A84C, #9c7f33); border: none; border-radius: 8px; padding: 6px 12px; cursor: pointer; transition: .16s cubic-bezier(0.4,0,0.2,1); }
#page-sales .sq-qbc-new:hover { filter: brightness(1.08); }
#page-sales .sq-qbc-t b[contenteditable]:focus { outline: 1px solid rgba(201,168,76,0.5); outline-offset: 2px; border-radius: 3px; }
#page-sales .sq-lia-more { font-size: 10.5px; color: #8A857D; padding: 6px 2px; flex-basis: 100%; }
/* FIX_SALES_QUOTE_CREATE_S1_2026_09_05 (§3.2) -- free-form add-line row. Text inputs reuse the
   .sq-li-inp look (left-aligned rather than the money-figure right-align that class ships with;
   overridden per-input class below) so the row reads as part of the same table, not a bolted-on
   form. */
#page-sales .sq-li-newrow { display: flex; gap: 7px; margin: 4px 0 6px; flex-wrap: wrap; align-items: center; }
#page-sales .sq-li-newin { background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.07); border-radius: 8px; padding: 7px 9px; color: #F0EBE2; font-family: 'Open Sans', sans-serif; font-size: 12px; outline: none; transition: border-color .16s cubic-bezier(0.4,0,0.2,1); }
#page-sales .sq-li-newin:focus { border-color: rgba(201,168,76,0.5); box-shadow: 0 0 0 2px rgba(201,168,76,0.14); }
#page-sales .sq-li-newin::placeholder { color: #6E6961; }
#page-sales .sq-li-newin-desc { flex: 1 1 160px; min-width: 120px; }
#page-sales .sq-li-newin-s { width: 96px; }
#page-sales .sq-li-newin-xs { width: 58px; text-align: right; font-variant-numeric: tabular-nums; }
#page-sales .sq-li-newbtn { font-family: 'Montserrat', sans-serif; font-size: 11px; font-weight: 700; color: #C9A84C; border: 1px dashed rgba(201,168,76,0.4); background: rgba(201,168,76,0.06); border-radius: 8px; padding: 8px 13px; cursor: pointer; transition: .16s cubic-bezier(0.4,0,0.2,1); white-space: nowrap; }
#page-sales .sq-li-newbtn:hover { background: rgba(201,168,76,0.12); border-color: rgba(201,168,76,0.6); }
#page-sales .sq-li-newerr { font-size: 11px; color: #E05555; min-height: 14px; margin: -2px 0 8px 2px; }
/* FIX_SALES_QUOTE_CREATE_S1_2026_09_05 (§3.4) -- validity date row, right-aligned figure-style
   like every other .sq-tot-row value, native picker so the browser owns date-entry affordance. */
#page-sales .sq-valid-inp { background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.09); border-radius: 7px; padding: 5px 8px; color: #F0EBE2; font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 11.5px; outline: none; color-scheme: dark; }
#page-sales .sq-valid-inp:focus { border-color: rgba(201,168,76,0.5); box-shadow: 0 0 0 2px rgba(201,168,76,0.14); }
#page-sales .sq-li-head { display: grid; grid-template-columns: 1fr 58px 78px 80px 26px; gap: 8px; padding: 0 4px 6px; font-size: 9px; letter-spacing: .06em; text-transform: uppercase; color: #8A857D; font-weight: 700; }
#page-sales .sq-li-head .sq-r { text-align: right; }
#page-sales .sq-li-row { display: grid; grid-template-columns: 1fr 58px 78px 80px 26px; gap: 8px; align-items: center; padding: 8px 4px; border-bottom: 1px solid rgba(255,255,255,0.07); }
#page-sales .sq-li-name { font-size: 12px; color: #F0EBE2; font-weight: 600; }
#page-sales .sq-li-name small { display: block; font-size: 9.5px; color: #8A857D; font-weight: 400; margin-top: 1px; }
#page-sales .sq-li-inp { width: 100%; background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.07); border-radius: 8px; padding: 7px 8px; color: #F0EBE2; font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 12px; text-align: right; outline: none; transition: border-color .16s cubic-bezier(0.4,0,0.2,1), box-shadow .16s cubic-bezier(0.4,0,0.2,1); font-variant-numeric: tabular-nums; }
#page-sales .sq-li-inp:focus { border-color: rgba(201,168,76,0.5); box-shadow: 0 0 0 2px rgba(201,168,76,0.14); }
#page-sales .sq-li-amt { text-align: right; font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 12.5px; color: #F0EBE2; }
#page-sales .sq-li-del { width: 24px; height: 24px; border-radius: 7px; border: 1px solid rgba(255,255,255,0.07); background: rgba(255,255,255,0.02); color: #8A857D; cursor: pointer; display: grid; place-items: center; transition: .14s; justify-self: center; }
#page-sales .sq-li-del:hover { color: #E05555; border-color: rgba(224,85,85,0.4); background: rgba(224,85,85,0.08); }
#page-sales .sq-li-del svg { width: 13px; height: 13px; stroke: currentColor; }
#page-sales .sq-li-add { display: flex; flex-wrap: wrap; gap: 7px; margin: 12px 0 4px; }
#page-sales .sq-lia { font-family: 'Montserrat', sans-serif; font-size: 10.5px; font-weight: 600; color: #C4BFB6; border: 1px dashed rgba(255,255,255,0.13); background: rgba(255,255,255,0.02); border-radius: 9px; padding: 6px 11px; cursor: pointer; transition: .16s cubic-bezier(0.4,0,0.2,1); display: inline-flex; align-items: center; gap: 6px; }
#page-sales .sq-lia svg { width: 12px; height: 12px; stroke: #C9A84C; }
#page-sales .sq-lia:hover { border-color: rgba(201,168,76,0.5); color: #F0EBE2; background: rgba(201,168,76,0.06); }
/* FIX_SQ_CATALOG_FIXTURE_GATE_2026_07_17 — honest-empty note that replaces the quick-add buttons when the
   account has no catalogue of its own. Sits in the same .sq-li-add row and reuses the buttons' own dashed
   affordance tokens, so the builder keeps its shape instead of collapsing to a gap. */
#page-sales .sq-lia-none { font-size: 11px; color: #8A857D; line-height: 1.5; border: 1px dashed rgba(255,255,255,0.13); background: rgba(255,255,255,0.02); border-radius: 9px; padding: 9px 12px; flex: 1; }
#page-sales .sq-lia-none b { color: #C4BFB6; font-weight: 700; }
#page-sales .sq-qb-totals { margin-top: 14px; padding: 14px 15px; border-radius: 13px; border: 1px solid rgba(255,255,255,0.07); background: linear-gradient(168deg, rgba(255,255,255,0.025), rgba(255,255,255,0.01)); }
#page-sales .sq-tot-row { display: flex; align-items: center; justify-content: space-between; font-size: 12px; padding: 5px 0; color: #C4BFB6; }
#page-sales .sq-tot-row .sq-tl { color: #8A857D; display: flex; align-items: center; gap: 7px; }
#page-sales .sq-tot-row .sq-tv { font-family: 'Montserrat', sans-serif; font-weight: 700; color: #F0EBE2; font-size: 12.5px; }
#page-sales .sq-tot-row.sq-disc .sq-tv { color: #4CAF7D; }
#page-sales .sq-tot-row.sq-disc .sq-tl b { color: #C9A84C; font-weight: 700; }
#page-sales .sq-tot-grand { display: flex; align-items: baseline; justify-content: space-between; margin-top: 8px; padding-top: 11px; border-top: 1px solid rgba(255,255,255,0.13); }
#page-sales .sq-tot-grand .sq-tg-l { font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 12px; letter-spacing: .04em; text-transform: uppercase; color: #8A857D; }
#page-sales .sq-tot-grand .sq-tg-v { font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 24px; color: #F0EBE2; }
#page-sales .sq-tot-mo { font-size: 10px; color: #8A857D; text-align: right; margin-top: 3px; }
#page-sales .sq-disc-link { font-size: 9.5px; color: #C9A84C; border-bottom: 1px dotted rgba(201,168,76,0.5); cursor: pointer; }
#page-sales .sq-qb-actions { display: flex; gap: 9px; margin-top: 14px; flex-wrap: wrap; }
#page-sales .sq-btn-g { display: inline-flex; align-items: center; gap: 8px; font-family: 'Montserrat', sans-serif; font-size: 12px; font-weight: 700; color: #16140F; background: linear-gradient(180deg, #C9A84C, #9c7f33); border: none; border-radius: 10px; padding: 10px 16px; cursor: pointer; box-shadow: 0 8px 22px -8px rgba(201,168,76,0.55), inset 0 1px 0 rgba(255,255,255,0.3); transition: transform .16s cubic-bezier(0.4,0,0.2,1), box-shadow .16s cubic-bezier(0.4,0,0.2,1); }
#page-sales .sq-btn-g:hover { transform: translateY(-1px); box-shadow: 0 12px 28px -8px rgba(201,168,76,0.7), inset 0 1px 0 rgba(255,255,255,0.3); }
#page-sales .sq-btn-g svg { width: 14px; height: 14px; stroke: #16140F; stroke-width: 2.3; }
#page-sales .sq-btn-o { display: inline-flex; align-items: center; gap: 8px; font-family: 'Montserrat', sans-serif; font-size: 12px; font-weight: 600; color: #C4BFB6; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.13); border-radius: 10px; padding: 10px 15px; cursor: pointer; transition: .16s cubic-bezier(0.4,0,0.2,1); box-shadow: inset 0 1px 0 rgba(255,255,255,0.05); }
#page-sales .sq-btn-o:hover { background: rgba(255,255,255,0.09); color: #F0EBE2; border-color: #C9A84C; }
#page-sales .sq-btn-o svg { width: 14px; height: 14px; stroke: currentColor; }
#page-sales .sq-coming-pill { font-family: 'Montserrat', sans-serif; font-size: 8px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #8A857D; background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); border-radius: 999px; padding: 1px 6px; margin-left: 2px; }
#page-sales .sq-counsel-cue { display: flex; align-items: flex-start; gap: 9px; margin-top: 13px; padding: 10px 12px; border-radius: 11px; border: 1px solid rgba(139,111,214,0.32); background: linear-gradient(168deg, rgba(139,111,214,0.1), rgba(139,111,214,0.03)); font-size: 10.5px; color: #C4BFB6; line-height: 1.45; }
#page-sales .sq-counsel-cue .sq-cc-ic { width: 24px; height: 24px; border-radius: 7px; flex: none; display: grid; place-items: center; background: rgba(139,111,214,0.16); box-shadow: inset 0 1px 0 rgba(255,255,255,0.08); }
#page-sales .sq-counsel-cue .sq-cc-ic svg { width: 13px; height: 13px; stroke: #a98fe6; }
#page-sales .sq-counsel-cue b { color: #bfa9ef; font-weight: 700; }
#page-sales .sq-det-legend { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 12px; font-size: 9.5px; color: #8A857D; }
#page-sales .sq-det-legend span { display: inline-flex; align-items: center; gap: 6px; }
#page-sales .sq-det-legend i { width: 9px; height: 9px; border-radius: 3px; display: inline-block; }

/* ----- forecast contribution band ----- */
#page-sales .sq-fcrow { display: grid; grid-template-columns: 1.4fr 1fr; gap: 18px; align-items: start; margin-bottom: 18px; }
@media (max-width: 1180px) { #page-sales .sq-fcrow { grid-template-columns: 1fr; } }
#page-sales .sq-stage-bars { display: flex; flex-direction: column; gap: 11px; margin-top: 14px; }
#page-sales .sq-sbar { display: grid; grid-template-columns: 120px 1fr 92px; gap: 11px; align-items: center; font-size: 11.5px; }
#page-sales .sq-sbar .sq-sb-l { color: #C4BFB6; display: flex; align-items: center; gap: 8px; }
#page-sales .sq-sbar .sq-sb-l i { width: 8px; height: 8px; border-radius: 2px; flex: none; }
#page-sales .sq-sbar .sq-sb-l small { color: #8A857D; font-size: 9.5px; }
#page-sales .sq-sbar .sq-sb-track { height: 13px; border-radius: 7px; background: rgba(255,255,255,0.05); overflow: hidden; position: relative; }
#page-sales .sq-sbar .sq-sb-raw { position: absolute; inset: 0; width: var(--sq-raw, 0%); background: rgba(255,255,255,0.05); border-radius: 7px; transition: width 1s cubic-bezier(.2,.7,.2,1); }
#page-sales .sq-sbar .sq-sb-wt { position: absolute; inset: 0; width: 0; border-radius: 7px; transition: width 1.1s cubic-bezier(.2,.7,.2,1); box-shadow: inset 0 1px 0 rgba(255,255,255,0.25); }
#page-sales .sq-sbar .sq-sb-v { text-align: right; font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 12px; color: #F0EBE2; }
#page-sales .sq-sbar .sq-sb-v small { display: block; font-size: 9px; color: #8A857D; font-weight: 600; }
#page-sales .sq-fc-total { display: flex; align-items: baseline; justify-content: space-between; margin-top: 15px; padding-top: 13px; border-top: 1px solid rgba(255,255,255,0.13); }
#page-sales .sq-fc-total .sq-fct-l { font-size: 11px; color: #8A857D; max-width: 58%; line-height: 1.4; }
#page-sales .sq-fc-total .sq-fct-l b { color: #C4BFB6; font-weight: 600; }
#page-sales .sq-fc-total .sq-fct-v { text-align: right; }
#page-sales .sq-fc-total .sq-fct-v .sq-v { font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 23px; color: #F0EBE2; line-height: 1; }
#page-sales .sq-fc-total .sq-fct-v small { display: block; font-size: 9.5px; color: #8A857D; margin-top: 4px; }
#page-sales .sq-fc-note { margin-top: 12px; font-size: 10px; color: #8A857D; display: flex; align-items: flex-start; gap: 7px; line-height: 1.45; }
#page-sales .sq-fc-note svg { width: 12px; height: 12px; stroke: #5B9BD5; flex: none; margin-top: 1px; opacity: .9; }
#page-sales .sq-fc-note b { color: #C4BFB6; font-weight: 600; }

/* ----- follow-up tie-in list ----- */
#page-sales .sq-fu-list { display: flex; flex-direction: column; gap: 9px; margin-top: 13px; }
#page-sales .sq-fu { display: flex; align-items: center; gap: 11px; padding: 11px 12px; border-radius: 12px; border: 1px solid rgba(255,255,255,0.07); background: rgba(255,255,255,0.016); transition: .16s cubic-bezier(0.4,0,0.2,1); cursor: pointer; position: relative; overflow: hidden; }
#page-sales .sq-fu::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; border-radius: 12px 0 0 12px; background: var(--sq-fl, #E8943A); }
#page-sales .sq-fu:hover { background: rgba(255,255,255,0.04); border-color: rgba(255,255,255,0.13); transform: translateX(2px); }
#page-sales .sq-fu.sq-danger { --sq-fl: #E05555; border-color: rgba(224,85,85,0.3); }
#page-sales .sq-fu .sq-fu-ic { width: 30px; height: 30px; border-radius: 9px; flex: none; display: grid; place-items: center; }
#page-sales .sq-fu .sq-fu-ic svg { width: 15px; height: 15px; }
#page-sales .sq-fu-body { flex: 1; min-width: 0; }
#page-sales .sq-fu-body .sq-fu-t { font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 12px; color: #F0EBE2; }
#page-sales .sq-fu-body .sq-fu-d { font-size: 10.5px; color: #8A857D; margin-top: 2px; line-height: 1.4; }
#page-sales .sq-fu-body .sq-fu-d b { color: #C4BFB6; font-weight: 600; }
#page-sales .sq-fu .sq-fu-act { flex: none; }
#page-sales .sq-fu .sq-fu-act .sq-fubtn { font-family: 'Montserrat', sans-serif; font-size: 10.5px; font-weight: 600; cursor: pointer; border-radius: 8px; padding: 7px 13px; border: 1px solid rgba(255,255,255,0.13); background: rgba(255,255,255,0.04); color: #C4BFB6; transition: all .16s cubic-bezier(0.4,0,0.2,1); white-space: nowrap; box-shadow: inset 0 1px 0 rgba(255,255,255,0.05); }
#page-sales .sq-fu .sq-fu-act .sq-fubtn:hover { background: rgba(255,255,255,0.09); color: #F0EBE2; transform: translateY(-1px); border-color: #C9A84C; }
#page-sales .sq-fu-handoff { margin-top: 12px; font-size: 10px; color: #8A857D; display: flex; align-items: center; gap: 7px; line-height: 1.4; }
#page-sales .sq-fu-handoff svg { width: 12px; height: 12px; stroke: #C9A84C; flex: none; opacity: .85; }
#page-sales .sq-fu-handoff b { color: #C4BFB6; font-weight: 600; }
#page-sales .sq-footnote { font-size: 10px; color: #8A857D; margin-top: 18px; text-align: center; opacity: .7; line-height: 1.6; }

/* ----- proposal-preview document (inside the reused .rk-modal shell, wide variant) ----- */
#page-sales .sq-prop-doc { margin-top: 6px; border-radius: 14px; border: 1px solid rgba(255,255,255,0.07); overflow: hidden; background: linear-gradient(180deg, #211e1b, #1b1916); box-shadow: 0 30px 70px -40px #000; }
#page-sales .sq-prop-cover { position: relative; padding: 24px 26px 22px; background: linear-gradient(150deg, rgba(201,168,76,0.16), rgba(201,168,76,0.03)); border-bottom: 1px solid rgba(255,255,255,0.07); overflow: hidden; }
#page-sales .sq-prop-cover .sq-pc-from { display: flex; align-items: center; gap: 9px; font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: #C9A84C; font-weight: 700; font-family: 'Montserrat', sans-serif; }
#page-sales .sq-prop-cover h2 { font-family: 'Montserrat', sans-serif; font-size: 22px; font-weight: 800; color: #F0EBE2; margin-top: 13px; letter-spacing: -.01em; line-height: 1.15; }
#page-sales .sq-prop-cover .sq-pc-for { font-size: 12px; color: #C4BFB6; margin-top: 5px; }
#page-sales .sq-prop-cover .sq-pc-for b { color: #F0EBE2; font-weight: 600; }
#page-sales .sq-prop-cover .sq-pc-meta { display: flex; gap: 18px; margin-top: 15px; flex-wrap: wrap; }
#page-sales .sq-prop-cover .sq-pc-meta div { font-size: 10px; color: #8A857D; }
#page-sales .sq-prop-cover .sq-pc-meta div b { display: block; color: #F0EBE2; font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 12px; margin-top: 2px; }
#page-sales .sq-prop-body { padding: 20px 26px 8px; }
#page-sales .sq-prop-sec { margin-bottom: 20px; }
#page-sales .sq-prop-sec .sq-ps-h { font-family: 'Montserrat', sans-serif; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: #C9A84C; font-weight: 700; margin-bottom: 9px; display: flex; align-items: center; gap: 8px; }
#page-sales .sq-prop-sec .sq-ps-h .sq-ps-by { margin-left: auto; font-size: 8.5px; letter-spacing: .04em; text-transform: none; color: #8A857D; font-weight: 600; }
#page-sales .sq-prop-sec .sq-ps-h .sq-ps-by.sq-det { color: #5B9BD5; }
#page-sales .sq-prop-sec p { font-size: 12.5px; color: #C4BFB6; line-height: 1.6; }
#page-sales .sq-prop-coming { font-size: 11.5px; color: #8A857D; line-height: 1.55; padding: 12px 14px; border-radius: 10px; border: 1px dashed rgba(201,168,76,0.3); background: rgba(201,168,76,0.04); }
#page-sales .sq-prop-coming b { color: #C9A84C; font-weight: 700; }
#page-sales .sq-prop-table { width: 100%; border-collapse: collapse; font-size: 12px; }
#page-sales .sq-prop-table th { text-align: left; font-size: 9px; letter-spacing: .06em; text-transform: uppercase; color: #8A857D; font-weight: 700; padding: 0 0 8px; border-bottom: 1px solid rgba(255,255,255,0.13); }
#page-sales .sq-prop-table th.sq-r, #page-sales .sq-prop-table td.sq-r { text-align: right; }
#page-sales .sq-prop-table td { padding: 9px 0; border-bottom: 1px solid rgba(255,255,255,0.07); color: #C4BFB6; }
#page-sales .sq-prop-table td .sq-pt-name { color: #F0EBE2; font-weight: 600; }
#page-sales .sq-prop-table td .sq-pt-sub { font-size: 10px; color: #8A857D; margin-top: 1px; }
#page-sales .sq-prop-table td.sq-r { font-family: 'Montserrat', sans-serif; font-weight: 700; color: #F0EBE2; }
#page-sales .sq-prop-table tr.sq-pt-sum td { border-bottom: none; padding: 6px 0; color: #8A857D; }
#page-sales .sq-prop-table tr.sq-pt-sum td.sq-r { color: #F0EBE2; font-weight: 700; }
#page-sales .sq-prop-table tr.sq-pt-disc td.sq-r { color: #4CAF7D; }
#page-sales .sq-prop-table tr.sq-pt-grand td { padding-top: 11px; border-top: 1px solid rgba(255,255,255,0.13); font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 15px; color: #F0EBE2; }
#page-sales .sq-prop-valid { display: flex; align-items: center; gap: 8px; margin-top: 14px; padding: 10px 13px; border-radius: 10px; border: 1px solid rgba(232,148,58,0.3); background: rgba(232,148,58,0.08); font-size: 11px; color: #E8943A; font-weight: 600; }
#page-sales .sq-prop-valid svg { width: 14px; height: 14px; stroke: #E8943A; flex: none; }

@media (prefers-reduced-motion: reduce) {
  #page-sales .sq-sbar .sq-sb-wt, #page-sales .sq-sbar .sq-sb-raw { transition: none !important; }
}

/* ════════════════════════════════════════════════════════════════════════════
   FIX_SALES_OFFERS_S1_2026_06_17 — Offers & Promotions drill-in styles, scoped under
   #page-sales. Built TO design_samples/sales/sales_offers_promotions.html (sample CSS
   L142-439) at ultra-HD fidelity, MIRROR of the Quotes (FIX_SALES_QUOTES_S1) CSS region.
   ASCII-only comments (a non-ASCII char silently drops the rule from the CSSOM - the L18.8
   lesson). All classes are .so-* namespaced + scoped under #page-sales (the sample's bare
   .kpi/.panel/.modal/.seg generics would collide with the platform; the sample modal shells
   are REPLACED by the shipped .rk-mod-scrim/.rk-modal shells - only the inner content classes
   live here). Reuses .sa-head-row / .sa-statusline / .sa-when from the Sales landing region. */
#page-sales .so-sot { display: flex; align-items: center; gap: 11px; margin: 0 0 18px; padding: 11px 16px; border-radius: 12px; background: linear-gradient(100deg, rgba(201,168,76,0.07), rgba(91,155,213,0.04)); border: 1px solid rgba(201,168,76,0.2); font-size: 11.5px; color: #C4BFB6; line-height: 1.45; }
#page-sales .so-sot .so-sot-ic { width: 30px; height: 30px; border-radius: 9px; flex: none; display: grid; place-items: center; background: linear-gradient(150deg, rgba(201,168,76,0.22), rgba(201,168,76,0.06)); box-shadow: inset 0 1px 0 rgba(255,255,255,0.05); }
#page-sales .so-sot .so-sot-ic svg { width: 16px; height: 16px; stroke: #C9A84C; }
#page-sales .so-sot b { color: #F0EBE2; font-weight: 700; }
#page-sales .so-sot .so-who-winback { color: #3FB6A8; font-weight: 700; }
#page-sales .so-sot .so-who-pos { color: #C9A84C; font-weight: 700; }
#page-sales .so-sot .so-who-pricing { color: #5B9BD5; font-weight: 700; }
#page-sales .so-sot .so-who-retail { color: #E8943A; font-weight: 700; }
#page-sales .so-sot .so-sot-tag { margin-left: auto; font-family: 'Montserrat', sans-serif; font-size: 9px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #C9A84C; background: rgba(201,168,76,0.1); border: 1px solid rgba(201,168,76,0.3); border-radius: 999px; padding: 3px 10px; flex: none; }

/* KPI band - 4 tiles (the sample uses 4-col; reuse the .sa-kpi family from the landing but in a
   4-col grid scoped to the Offers surface). The peek/modal hooks render but stay UNWIRED (S2). */
#page-sales .so-kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 13px; margin-bottom: 20px; }
@media (max-width: 1180px) { #page-sales .so-kpis { grid-template-columns: repeat(2, 1fr); } }
#page-sales .so-kpis .sa-kpi.so-k-live::before { background: #4CAF7D; }
#page-sales .so-kpis .sa-kpi.so-k-redeem::before { background: #C9A84C; }
#page-sales .so-kpis .sa-kpi.so-k-rev::before { background: #3FB6A8; }
#page-sales .so-kpis .sa-kpi.so-k-roi::before { background: #5B9BD5; }
/* FIX_DEMO_ROSTERBIND_OFFERSKPI_2026_08_06 (v1.25) -- Sales -> Offers: suppress the DEAD peek
   affordance. renderSalesOffers emits four __salesKpi tiles carrying role="button", an expand
   chevron and a hover-hint label, but it never calls __wireKpiSurface -- measured 0 calls across
   the renderSalesOffers span (function head to __swbDaysLapsed) against a live control of 5
   __salesKpi calls in the same span, while renderSalesOverview does bind. So those controls
   render as interactive and nothing is wired to them. Copies the shipped sp-kpis precedent
   verbatim (siblings: sp-kpis, sf-kpis, scv-kpis). SUPPRESSION, NOT WIRING -- the peeks land in
   S2; do not edit __salesKpi, the shared emitter behind 31 call sites, which would change every
   Sales tile including the wired ones. Placement is settled by STRUCTURE, not line range: this
   block follows the base #page-sales .sa-kpi rules, and neither base rule declares display at
   all, so display:none at (1,3,0) has no competitor. Do not relocate the block. */
#page-sales .so-kpis .sa-kpi .sa-expand,
#page-sales .so-kpis .sa-kpi .sa-hint-i { display: none; }

/* board toolbar */
#page-sales .so-board-bar { display: flex; align-items: center; gap: 14px; margin-bottom: 14px; flex-wrap: wrap; }
#page-sales .so-board-bar h2 { font-family: 'Montserrat', sans-serif; font-size: 16px; font-weight: 800; letter-spacing: -.01em; color: #F0EBE2; }
#page-sales .so-board-bar .so-bb-sub { font-size: 11.5px; color: #8A857D; }
#page-sales .so-board-bar .so-spacer { margin-left: auto; }
#page-sales .so-seg { display: inline-flex; background: rgba(0,0,0,0.22); border: 1px solid rgba(255,255,255,0.07); border-radius: 10px; padding: 3px; gap: 2px; }
#page-sales .so-seg button { font-family: 'Montserrat', sans-serif; font-size: 11px; font-weight: 600; color: #8A857D; background: transparent; border: none; border-radius: 8px; padding: 6px 13px; cursor: pointer; transition: .16s cubic-bezier(0.4,0,0.2,1); }
#page-sales .so-seg button:hover { color: #C4BFB6; }
#page-sales .so-seg button.on { background: linear-gradient(180deg, rgba(201,168,76,0.22), rgba(201,168,76,0.06)); color: #F0EBE2; box-shadow: inset 0 0 0 1px rgba(201,168,76,0.3); }
#page-sales .so-new-offer { display: inline-flex; align-items: center; gap: 8px; font-family: 'Montserrat', sans-serif; font-size: 12.5px; font-weight: 700; color: #16140F; background: linear-gradient(180deg, #C9A84C, #9c7f33); border: none; border-radius: 10px; padding: 9px 16px; cursor: pointer; box-shadow: 0 8px 22px -8px rgba(201,168,76,0.55), inset 0 1px 0 rgba(255,255,255,0.3); transition: transform .16s cubic-bezier(0.4,0,0.2,1), box-shadow .16s cubic-bezier(0.4,0,0.2,1); }
#page-sales .so-new-offer:hover { transform: translateY(-1px); box-shadow: 0 12px 28px -8px rgba(201,168,76,0.7), inset 0 1px 0 rgba(255,255,255,0.3); }
#page-sales .so-new-offer svg { width: 15px; height: 15px; stroke: #16140F; stroke-width: 2.6; }

/* offers board - status groups */
#page-sales .so-group { margin-bottom: 22px; }
#page-sales .so-group.so-hidden { display: none; }
#page-sales .so-sg-head { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
#page-sales .so-sg-head .so-sg-dot { width: 9px; height: 9px; border-radius: 50%; flex: none; }
#page-sales .so-sg-head.so-s-live .so-sg-dot { background: #4CAF7D; box-shadow: 0 0 9px #4CAF7D; }
#page-sales .so-sg-head.so-s-sched .so-sg-dot { background: #5B9BD5; box-shadow: 0 0 9px rgba(91,155,213,0.6); }
#page-sales .so-sg-head.so-s-ended .so-sg-dot { background: #8A857D; }
#page-sales .so-sg-head h3 { font-size: 12px; letter-spacing: .6px; text-transform: uppercase; font-family: 'Montserrat', sans-serif; font-weight: 700; color: #F0EBE2; }
#page-sales .so-sg-head .so-sg-count { font-size: 10px; font-family: 'Montserrat', sans-serif; font-weight: 700; color: #8A857D; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.07); border-radius: 999px; padding: 2px 9px; }
#page-sales .so-sg-head .so-sg-line { flex: 1; height: 1px; background: linear-gradient(90deg, rgba(255,255,255,0.07), transparent); }
#page-sales .so-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(310px, 1fr)); gap: 14px; }

/* offer card */
#page-sales .so-card { position: relative; overflow: hidden; cursor: pointer; background: linear-gradient(168deg, #262320, #1e1b19); border: 1px solid rgba(255,255,255,0.07); border-radius: 16px; padding: 16px 17px 15px; box-shadow: 0 18px 40px -32px #000, inset 0 1px 0 rgba(255,255,255,0.05); transition: transform .2s cubic-bezier(0.4,0,0.2,1), box-shadow .2s cubic-bezier(0.4,0,0.2,1), border-color .2s cubic-bezier(0.4,0,0.2,1); display: flex; flex-direction: column; }
#page-sales .so-card::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--so-accent, #C9A84C); opacity: .7; }
#page-sales .so-card:hover { transform: translateY(-3px); border-color: rgba(255,255,255,0.13); box-shadow: 0 26px 52px -28px #000, 0 0 0 1px rgba(201,168,76,0.14), 0 0 28px -12px rgba(201,168,76,0.4); }
#page-sales .so-card.so-ended { opacity: .78; }
#page-sales .so-card.so-ended:hover { opacity: 1; }
#page-sales .so-oc-top { display: flex; align-items: flex-start; gap: 11px; margin-bottom: 10px; }
#page-sales .so-oc-ic { width: 36px; height: 36px; border-radius: 10px; flex: none; display: grid; place-items: center; box-shadow: inset 0 1px 0 rgba(255,255,255,0.05); }
#page-sales .so-oc-ic svg { width: 18px; height: 18px; }
#page-sales .so-oc-tt { flex: 1; min-width: 0; }
#page-sales .so-oc-tt h4 { font-family: 'Montserrat', sans-serif; font-size: 13.5px; font-weight: 700; color: #F0EBE2; line-height: 1.2; letter-spacing: -.005em; }
#page-sales .so-oc-type { display: inline-flex; align-items: center; gap: 5px; margin-top: 4px; font-size: 9.5px; font-family: 'Montserrat', sans-serif; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; padding: 2px 8px; border-radius: 999px; }
#page-sales .so-otype-trial { color: #E8943A; background: rgba(232,148,58,0.13); border: 1px solid rgba(232,148,58,0.3); }
#page-sales .so-otype-referral { color: #3FB6A8; background: rgba(63,182,168,0.13); border: 1px solid rgba(63,182,168,0.32); }
#page-sales .so-otype-member { color: #C9A84C; background: rgba(201,168,76,0.13); border: 1px solid rgba(201,168,76,0.32); }
#page-sales .so-otype-bundle { color: #5B9BD5; background: rgba(91,155,213,0.13); border: 1px solid rgba(91,155,213,0.3); }
#page-sales .so-otype-winback { color: #a98fe6; background: rgba(139,111,214,0.15); border: 1px solid rgba(139,111,214,0.34); }
#page-sales .so-otype-seasonal { color: #4CAF7D; background: rgba(76,175,125,0.13); border: 1px solid rgba(76,175,125,0.3); }
#page-sales .so-otype-unknown { color: #8A857D; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.07); } /* FIX_OFFERS_TYPEMETA_GUARD_2026_09_09 -- mirrors .so-ocs-ended's existing muted tokens verbatim; no new colour literal. */
#page-sales .so-oc-status { font-size: 8.5px; font-family: 'Montserrat', sans-serif; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: 3px 8px; border-radius: 7px; flex: none; }
#page-sales .so-ocs-live { color: #4CAF7D; background: rgba(76,175,125,0.14); border: 1px solid rgba(76,175,125,0.34); }
#page-sales .so-ocs-sched { color: #5B9BD5; background: rgba(91,155,213,0.14); border: 1px solid rgba(91,155,213,0.32); }
#page-sales .so-ocs-ended { color: #8A857D; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.07); }
/* FIX_OFFERS_LIFECYCLE_2026_09_08 (build_offers_s2f_lifecycle_draft_brief.md §3.F.5) -- the
   Draft pill. Colour token reused verbatim from .so-otype-trial immediately above (this file's
   own existing "in progress / not yet committed" amber), rather than a new colour literal. */
#page-sales .so-ocs-draft { color: #E8943A; background: rgba(232,148,58,0.14); border: 1px solid rgba(232,148,58,0.32); }
/* FIX_OFFERS_LIFECYCLE_2026_09_08 (build_offers_s2f_lifecycle_draft_brief.md §3.F.3) -- the
   card's own Duplicate control. Sized/positioned to sit beside .so-oc-status inside .so-oc-top
   (flex row, gap already set there) without disturbing that row's existing three children;
   colour tokens reused verbatim from .so-oc-mrow's own muted palette immediately below, no new
   colour literal introduced. */
#page-sales .so-oc-dupbtn { flex: none; width: 22px; height: 22px; display: grid; place-items: center; border-radius: 6px; border: 1px solid rgba(255,255,255,0.07); background: rgba(255,255,255,0.03); color: #8A857D; cursor: pointer; padding: 0; transition: border-color .15s, color .15s, background .15s; }
#page-sales .so-oc-dupbtn svg { width: 12px; height: 12px; stroke: currentColor; }
#page-sales .so-oc-dupbtn:hover { border-color: rgba(201,168,76,0.32); color: #C9A84C; background: rgba(201,168,76,0.08); }
#page-sales .so-oc-mech { font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 15px; color: #F0EBE2; line-height: 1.25; margin: 2px 0 10px; letter-spacing: -.01em; }
#page-sales .so-oc-mech .so-ded { color: #C9A84C; }
#page-sales .so-oc-meta { display: flex; flex-direction: column; gap: 6px; margin-bottom: 11px; }
#page-sales .so-oc-mrow { display: flex; align-items: center; gap: 8px; font-size: 11px; color: #C4BFB6; }
#page-sales .so-oc-mrow svg { width: 12px; height: 12px; stroke: #8A857D; flex: none; }
#page-sales .so-oc-mrow .so-ml { color: #8A857D; width: 54px; flex: none; }
#page-sales .so-oc-mrow b { color: #F0EBE2; font-weight: 600; }
#page-sales .so-oc-perf { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; padding: 11px 0 12px; border-top: 1px solid rgba(255,255,255,0.07); margin-top: auto; }
#page-sales .so-ocp { text-align: center; }
#page-sales .so-ocp .so-ocp-v { font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 15px; color: #F0EBE2; line-height: 1; }
#page-sales .so-ocp .so-ocp-l { font-size: 8.5px; letter-spacing: .6px; text-transform: uppercase; color: #8A857D; font-weight: 700; margin-top: 4px; }
#page-sales .so-ocp.so-roi .so-ocp-v.so-good { color: #4CAF7D; }
#page-sales .so-ocp.so-roi .so-ocp-v.so-weak { color: #E05555; }
#page-sales .so-oc-sched-note { padding: 11px 0 12px; border-top: 1px solid rgba(255,255,255,0.07); margin-top: auto; font-size: 11px; color: #5B9BD5; display: flex; align-items: center; gap: 8px; }
#page-sales .so-oc-sched-note svg { width: 13px; height: 13px; stroke: #5B9BD5; flex: none; }
#page-sales .so-oc-used { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; padding-top: 11px; border-top: 1px dashed rgba(201,168,76,0.22); }
#page-sales .so-oc-used .so-used-lbl { font-size: 8.5px; font-family: 'Montserrat', sans-serif; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #8A857D; }
#page-sales .so-uchip { display: inline-flex; align-items: center; gap: 4px; font-size: 9.5px; font-family: 'Montserrat', sans-serif; font-weight: 700; border-radius: 7px; padding: 3px 8px; letter-spacing: .01em; }
#page-sales .so-uchip svg { width: 10px; height: 10px; flex: none; }
#page-sales .so-uchip.so-u-winback { color: #3FB6A8; background: rgba(63,182,168,0.1); border: 1px solid rgba(63,182,168,0.28); }
#page-sales .so-uchip.so-u-winback svg { stroke: #3FB6A8; }
#page-sales .so-uchip.so-u-pos { color: #C9A84C; background: rgba(201,168,76,0.1); border: 1px solid rgba(201,168,76,0.28); }
#page-sales .so-uchip.so-u-pos svg { stroke: #C9A84C; }
#page-sales .so-uchip.so-u-pricing { color: #5B9BD5; background: rgba(91,155,213,0.1); border: 1px solid rgba(91,155,213,0.28); }
#page-sales .so-uchip.so-u-pricing svg { stroke: #5B9BD5; }
#page-sales .so-uchip.so-u-retail { color: #E8943A; background: rgba(232,148,58,0.1); border: 1px solid rgba(232,148,58,0.28); }
#page-sales .so-uchip.so-u-retail svg { stroke: #E8943A; }
#page-sales .so-oc-casl { margin-top: 9px; font-size: 9.5px; color: #5B9BD5; display: flex; align-items: center; gap: 6px; line-height: 1.35; }
#page-sales .so-oc-casl svg { width: 12px; height: 12px; stroke: #5B9BD5; flex: none; }
#page-sales .so-oc-casl b { font-weight: 700; }

/* attribution / performance rank panel */
#page-sales .so-panel { background: linear-gradient(170deg, #252220, #1e1b19); border: 1px solid rgba(255,255,255,0.07); border-radius: 16px; padding: 18px 20px; box-shadow: 0 22px 50px -36px #000, inset 0 1px 0 rgba(255,255,255,0.05); margin-top: 8px; }
#page-sales .so-panel-h { display: flex; align-items: center; justify-content: space-between; margin-bottom: 3px; }
#page-sales .so-panel-h h3 { font-family: 'Montserrat', sans-serif; font-size: 14px; letter-spacing: .4px; color: #F0EBE2; font-weight: 700; }
#page-sales .so-panel-h .so-hint { font-size: 11px; color: #8A857D; }
#page-sales .so-panel-sub { font-size: 11.5px; color: #8A857D; margin: 2px 0 16px; }
#page-sales .so-rank { display: flex; flex-direction: column; gap: 10px; }
#page-sales .so-rrow { display: flex; align-items: center; gap: 13px; padding: 11px 13px; border-radius: 12px; background: rgba(255,255,255,0.018); border: 1px solid rgba(255,255,255,0.07); transition: .16s cubic-bezier(0.4,0,0.2,1); position: relative; overflow: hidden; }
#page-sales .so-rrow::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--so-rk, #C9A84C); }
#page-sales .so-rrow:hover { background: rgba(255,255,255,0.04); border-color: rgba(255,255,255,0.13); }
#page-sales .so-rrow.so-weak { border-color: rgba(224,85,85,0.3); background: linear-gradient(100deg, rgba(224,85,85,0.07), rgba(255,255,255,0.018) 50%); }
#page-sales .so-rrow.so-weak::before { background: #E05555; }
#page-sales .so-rrow .so-rk-no { font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 13px; color: #8A857D; width: 16px; text-align: center; flex: none; }
#page-sales .so-rrow .so-rk-body { flex: 1; min-width: 0; }
#page-sales .so-rk-top { display: flex; align-items: baseline; gap: 9px; flex-wrap: wrap; }
#page-sales .so-rk-top .so-rk-name { font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 12.5px; color: #F0EBE2; }
#page-sales .so-rk-top .so-rk-tag { font-size: 9px; font-family: 'Montserrat', sans-serif; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #8A857D; }
#page-sales .so-rk-bar { height: 7px; border-radius: 4px; background: rgba(255,255,255,0.06); overflow: hidden; margin-top: 7px; max-width: 340px; }
#page-sales .so-rk-bar i { display: block; height: 100%; border-radius: 4px; width: 0; transition: width 1s cubic-bezier(.2,.7,.2,1); }
#page-sales .so-rrow .so-rk-fig { text-align: right; flex: none; min-width: 96px; }
#page-sales .so-rrow .so-rk-fig .so-rf-rev { font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 14px; color: #F0EBE2; }
#page-sales .so-rrow .so-rk-fig .so-rf-roi { font-size: 10px; color: #8A857D; margin-top: 2px; }
#page-sales .so-rrow .so-rk-fig .so-rf-roi b.so-good { color: #4CAF7D; }
#page-sales .so-rrow .so-rk-fig .so-rf-roi b.so-weak { color: #E05555; }
#page-sales .so-rrow .so-rk-flag { font-size: 9px; font-family: 'Montserrat', sans-serif; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #E05555; background: rgba(224,85,85,0.13); border: 1px solid rgba(224,85,85,0.32); border-radius: 7px; padding: 3px 8px; flex: none; }
#page-sales .so-footnote { font-size: 10px; color: #8A857D; margin-top: 20px; text-align: center; opacity: .7; line-height: 1.5; }

/* offer-detail modal inner content (the .rk-modal shell is shipped; these are the body classes) */
#page-sales .so-mod-mech { font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 16px; color: #F0EBE2; background: rgba(201,168,76,0.07); border: 1px solid rgba(201,168,76,0.22); border-radius: 12px; padding: 13px 15px; margin-bottom: 16px; line-height: 1.4; }
#page-sales .so-mod-mech .so-ded { color: #C9A84C; }
#page-sales .so-mod-mech .so-mm-narr { display: block; font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 12px; color: #C4BFB6; margin-top: 7px; line-height: 1.5; }
#page-sales .so-statgrid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 18px; }
@media (max-width: 640px) { #page-sales .so-statgrid { grid-template-columns: repeat(2, 1fr); } }
#page-sales .so-mstat { background: rgba(255,255,255,0.022); border: 1px solid rgba(255,255,255,0.07); border-radius: 12px; padding: 13px 13px; box-shadow: inset 0 1px 0 rgba(255,255,255,0.05); }
#page-sales .so-mstat .so-ms-l { font-size: 9px; letter-spacing: .8px; text-transform: uppercase; color: #8A857D; font-weight: 700; margin-bottom: 6px; }
#page-sales .so-mstat .so-ms-v { font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 18px; color: #F0EBE2; line-height: 1; }
#page-sales .so-mstat .so-ms-d { font-size: 10px; color: #8A857D; margin-top: 5px; }
#page-sales .so-mod-sec-h { font-size: 11px; letter-spacing: .8px; text-transform: uppercase; color: #8A857D; font-weight: 700; margin: 6px 0 11px; font-family: 'Montserrat', sans-serif; }
#page-sales .so-detgrid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px 22px; margin-bottom: 18px; }
#page-sales .so-mdet { display: flex; align-items: baseline; justify-content: space-between; padding: 7px 0; border-bottom: 1px solid rgba(255,255,255,0.07); font-size: 12px; }
#page-sales .so-mdet .so-md-l { color: #8A857D; }
#page-sales .so-mdet .so-md-v { font-family: 'Montserrat', sans-serif; font-weight: 700; color: #F0EBE2; font-size: 12px; text-align: right; }
#page-sales .so-mod-used { background: linear-gradient(100deg, rgba(201,168,76,0.06), rgba(91,155,213,0.03)); border: 1px solid rgba(201,168,76,0.2); border-radius: 14px; padding: 15px 16px; margin-bottom: 16px; }
#page-sales .so-mod-used h5 { font-size: 11px; letter-spacing: .6px; text-transform: uppercase; color: #C9A84C; font-family: 'Montserrat', sans-serif; font-weight: 700; margin-bottom: 5px; display: flex; align-items: center; gap: 8px; }
#page-sales .so-mod-used h5 svg { width: 14px; height: 14px; stroke: #C9A84C; }
#page-sales .so-mod-used .so-mu-sub { font-size: 11px; color: #8A857D; margin-bottom: 12px; line-height: 1.45; }
#page-sales .so-mu-list { display: flex; flex-direction: column; gap: 9px; }
#page-sales .so-mu-row { display: flex; align-items: center; gap: 11px; font-size: 11.5px; }
#page-sales .so-mu-row .so-mu-ic { width: 28px; height: 28px; border-radius: 8px; flex: none; display: grid; place-items: center; padding: 0; }
#page-sales .so-mu-row .so-mu-ic svg { width: 14px; height: 14px; }
#page-sales .so-mu-row .so-mu-ic.so-u-winback { background: rgba(63,182,168,0.12); } #page-sales .so-mu-row .so-mu-ic.so-u-winback svg { stroke: #3FB6A8; }
#page-sales .so-mu-row .so-mu-ic.so-u-pos { background: rgba(201,168,76,0.12); } #page-sales .so-mu-row .so-mu-ic.so-u-pos svg { stroke: #C9A84C; }
#page-sales .so-mu-row .so-mu-ic.so-u-pricing { background: rgba(91,155,213,0.12); } #page-sales .so-mu-row .so-mu-ic.so-u-pricing svg { stroke: #5B9BD5; }
#page-sales .so-mu-row .so-mu-ic.so-u-retail { background: rgba(232,148,58,0.12); } #page-sales .so-mu-row .so-mu-ic.so-u-retail svg { stroke: #E8943A; }
#page-sales .so-mu-row .so-mu-txt { flex: 1; min-width: 0; }
#page-sales .so-mu-row .so-mu-txt b { color: #F0EBE2; font-weight: 700; }
#page-sales .so-mu-row .so-mu-txt span { color: #8A857D; display: block; font-size: 10.5px; margin-top: 1px; }
#page-sales .so-mu-row .so-mu-state { font-size: 9px; font-family: 'Montserrat', sans-serif; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #4CAF7D; background: rgba(76,175,125,0.12); border: 1px solid rgba(76,175,125,0.3); border-radius: 999px; padding: 3px 9px; flex: none; }
#page-sales .so-mod-bars { display: flex; flex-direction: column; gap: 11px; }
#page-sales .so-mbar { display: flex; align-items: center; gap: 12px; font-size: 12px; }
#page-sales .so-mbar .so-mb-l { width: 120px; color: #C4BFB6; flex: none; }
#page-sales .so-mbar .so-mb-track { flex: 1; height: 11px; border-radius: 6px; background: rgba(255,255,255,0.06); overflow: hidden; }
#page-sales .so-mbar .so-mb-track i { display: block; height: 100%; border-radius: 6px; width: 0; transition: width 1s cubic-bezier(.2,.7,.2,1); }
#page-sales .so-mbar .so-mb-v { width: 54px; text-align: right; font-family: 'Montserrat', sans-serif; font-weight: 700; color: #F0EBE2; font-size: 12.5px; }

/* FIX_SALES_OFFERS_REV_S1_2026_09_05 -- standalone full-page editor host (§3.1), replacing the
   retired .rk-modal shell. Mirrors the shipped .vnc-back / .vnc-wrap breadcrumb-back convention
   (symbol anchor: .vnc-back) rather than inventing a second one. */
/* FIX_OFFERS_ELIG_RULES_2026_09_08 — §3.9, THE FOUNDER'S FULL-WIDTH DIRECTIVE, verbatim: "also
   make it fit the page (full width)".
   RETIRED: a single hardcoded `max-width: 900px` cap on this card, so the form occupied roughly the
   left 900px of a ~1,680px content area and the right third sat empty. That cap had NO basis in the
   design sample — the sample's own content shell is `.content-inner { max-width: none; ... }` and
   its composer is a MODAL, which S1 deliberately superseded with this standalone full-page card;
   the 900px literal was introduced by that conversion and never justified.
   REPLACED BY THE SHIPPED FULL-PAGE EDITOR-CARD IDIOM, not by a new number: symbol anchor
   `#page-operations .inv-editor-page`, whose own declarations read `width: 100%; max-width: none;`.
   ⛔ NO PX LITERAL IN EITHER DIRECTION — the card takes the width its host gives it.
   ⛔ Applies to Create AND Edit BY CONSTRUCTION, not by two edits: this class has exactly ONE CSS
   rule (here) and ONE emission site, so both dispositions of the composer are the same element
   under the same rule. That is the §0 A9 row's whole purpose.
   ⚠ A9 pins a RAW occurrence count at exact 2, and this comment block would have made it 3 by
   naming the class in prose — the citation-inflation shape, where a build's own required FIX
   comment breaks the invariant the brief pinned. The sentence above is phrased to state the
   SITE count (1 rule + 1 emission, both still true and both what A9 actually means) without
   re-emitting the raw token. ⛔ That is a correction of a claim this comment itself falsified,
   NOT a reword to make a number land: the retired sentence asserted "occurs exactly twice in
   this file", which its own presence made FALSE the moment it was written. The row's FORM is
   still the defect — an `exact` raw count on a symbol the FIX discipline requires citing is
   unsatisfiable by construction — and it is surfaced to Lane E rather than re-pinned here.
   ⚠ `max-width` is NOT an inherited property, so no descendant's typography changes as a
   consequence of this rule; the §5 expected-unchanged neighbours are measured on their own
   declaring rules against the base build, never predicted from the fact that those blocks were
   untouched.
   ⛔ OUT OF SCOPE HERE: the `.so-fld-row` two-column grid and every field's own width are NOT
   re-authored. If a field reads badly at 1920 that is a finding to surface, not a licence to
   redesign the form inside a brief about eligibility. */
#page-sales .so-editor-page { width: 100%; max-width: none; }

/* FIX_OFFERS_ELIG_RULES_2026_09_08 — §3.4 the eligibility rule builder's own layout. Copies the
   shipped `.so-fld-row` grid idiom (symbol anchor, immediately below) rather than inventing a
   second row system; the fourth `auto` track is the remove control, which must not stretch. Every
   control inside inherits the existing `#page-sales .so-fld input[type=text], #page-sales .so-fld
   select` styling because the rows live INSIDE a `.so-fld`, which is exactly why the value inputs
   are type=text. */
#page-sales .so-elig-row { display: grid; grid-template-columns: 1.3fr 1fr 1fr auto; gap: 10px; align-items: center; margin-bottom: 10px; }
#page-sales .so-elig-row select, #page-sales .so-elig-row input[type=text] { width: 100%; background: rgba(0,0,0,0.24); border: 1px solid rgba(255,255,255,0.13); border-radius: 10px; color: #F0EBE2; font-family: 'Open Sans', sans-serif; font-size: 12.5px; padding: 10px 12px; transition: .16s cubic-bezier(0.4,0,0.2,1); }
#page-sales .so-elig-row select { appearance: none; cursor: pointer; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' stroke='%238A857D' stroke-width='2'><path d='M3 5l4 4 4-4'/></svg>"); background-repeat: no-repeat; background-position: right 12px center; padding-right: 34px; }
#page-sales .so-elig-row select:focus, #page-sales .so-elig-row input:focus { outline: none; border-color: rgba(201,168,76,0.5); background: rgba(0,0,0,0.34); box-shadow: 0 0 0 3px rgba(201,168,76,0.1); }
#page-sales .so-elig-row select:disabled, #page-sales .so-elig-row input:disabled { opacity: .45; cursor: not-allowed; }
#page-sales .so-elig-rm { background: none; border: 1px solid rgba(255,255,255,0.13); border-radius: 9px; color: #8A857D; font-size: 15px; line-height: 1; width: 34px; height: 34px; cursor: pointer; transition: .14s; }
#page-sales .so-elig-rm:hover { color: var(--red); border-color: rgba(224,85,85,0.45); }
#page-sales .so-elig-add { background: none; border: 1px dashed rgba(255,255,255,0.16); border-radius: 10px; color: #C9A84C; font-family: 'Montserrat', sans-serif; font-size: 11.5px; font-weight: 700; padding: 9px 14px; cursor: pointer; transition: .14s; }
#page-sales .so-elig-add:hover { border-color: rgba(201,168,76,0.5); background: rgba(201,168,76,0.06); }
#page-sales .so-elig-none { font-size: 11.5px; color: #8A857D; padding: 2px 0 10px; }
#page-sales .so-elig-sum { font-size: 11.5px; color: #C4BFB6; margin-top: 6px; }
#page-sales .so-editor-back { display: inline-flex; align-items: center; gap: 7px; background: none; border: none; color: #8A857D; font-family: 'Montserrat', sans-serif; font-size: 12px; font-weight: 600; cursor: pointer; padding: 4px 2px; margin-bottom: 10px; transition: color .12s; }
#page-sales .so-editor-back:hover { color: #C9A84C; }
#page-sales .so-editor-back svg { width: 15px; height: 15px; }
/* create-offer composer inner content (now the full-page card body, formerly the .rk-modal body) */
#page-sales .so-cmp-head { display: flex; align-items: center; gap: 13px; margin-bottom: 4px; padding-right: 0; }
#page-sales .so-cmp-head .so-ch-ic { width: 40px; height: 40px; border-radius: 11px; flex: none; display: grid; place-items: center; background: linear-gradient(150deg, rgba(201,168,76,0.22), rgba(201,168,76,0.06)); box-shadow: inset 0 1px 0 rgba(255,255,255,0.05); }
#page-sales .so-cmp-head .so-ch-ic svg { width: 20px; height: 20px; stroke: #C9A84C; }
#page-sales .so-cmp-head h3 { font-family: 'Montserrat', sans-serif; font-size: 16px; font-weight: 800; letter-spacing: -.01em; color: #F0EBE2; }
#page-sales .so-cmp-head .so-ch-sub { font-size: 11px; color: #8A857D; margin-top: 2px; }
#page-sales .so-cmp-body { margin-top: 16px; }
#page-sales .so-fld { margin-bottom: 16px; }
#page-sales .so-fld .so-fl-l { font-size: 10px; letter-spacing: .7px; text-transform: uppercase; color: #8A857D; font-weight: 700; font-family: 'Montserrat', sans-serif; margin-bottom: 8px; display: flex; align-items: center; gap: 7px; }
#page-sales .so-fld .so-fl-l .so-req { color: #C9A84C; }
#page-sales .so-fld input[type=text], #page-sales .so-fld select { width: 100%; background: rgba(0,0,0,0.24); border: 1px solid rgba(255,255,255,0.13); border-radius: 10px; color: #F0EBE2; font-family: 'Open Sans', sans-serif; font-size: 12.5px; padding: 10px 12px; transition: .16s cubic-bezier(0.4,0,0.2,1); }
#page-sales .so-fld input:focus, #page-sales .so-fld select:focus { outline: none; border-color: rgba(201,168,76,0.5); background: rgba(0,0,0,0.34); box-shadow: 0 0 0 3px rgba(201,168,76,0.1); }
#page-sales .so-fld select { appearance: none; cursor: pointer; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' fill='none' stroke='%238A857D' stroke-width='2'><path d='M3 5l4 4 4-4'/></svg>"); background-repeat: no-repeat; background-position: right 12px center; padding-right: 34px; }
/* The OPEN dropdown popup was near-white-on-white. The rule above sets color:#F0EBE2 on the CLOSED
   control, which is readable because the composer modal (.rk-modal) is dark — but this surface had NO
   element-`option` rule at all, so the native popup inherited that near-white colour over the OS's own
   light popup background. The text inputs were unaffected, which is exactly the reported symptom: the
   two <select>s (Audience, Channel) and nothing else.
   FOLLOWS THE HOUSE PATTERN, derives nothing: 11 genuine element-`option` rules already ship in this
   file and every one sets an opaque dark background plus a bright colour. #F0EBE2 is the adjacent
   rule's own colour; #211d19 is the shipped opaque dark used for this exact purpose at symbol anchor
   .proc-cp-select. ⛔ The adjacent INPUT background (rgba(0,0,0,0.24)) is deliberately NOT reused here —
   it is translucent, so over an OS-light popup it would not fix the defect it is meant to fix.
   ⛔ color-scheme was NOT used here at authoring time: it appeared 0 times file-wide and would
   have been a new mechanism for this single-surface fix. STALE as of
   FIX_MENUS_READABLE_EVERY_SURFACE_2026_09_20, which adds an app-wide `color-scheme: dark;`
   declaration at :root as a separate, later, engine-level fix -- this rule is UNCHANGED and
   remains the higher-specificity (1,1,1) override that wins here regardless; it was never
   redundant with that later root-level fix, only with the new (0,0,2) base fallback rule.
   ⚠ Source cannot settle an OS-painted popup; this was render-verified. Symbol anchor: __OFFER_MECHANIC_KINDS. */
#page-sales .so-fld select option { background: #211d19; color: #F0EBE2; }
#page-sales .so-fld-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
#page-sales .so-typegrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; }
#page-sales .so-tcard { display: flex; flex-direction: column; align-items: flex-start; gap: 7px; padding: 11px 12px; border-radius: 11px; background: rgba(0,0,0,0.2); border: 1px solid rgba(255,255,255,0.07); cursor: pointer; transition: .16s cubic-bezier(0.4,0,0.2,1); text-align: left; }
#page-sales .so-tcard:hover { border-color: rgba(255,255,255,0.13); background: rgba(255,255,255,0.03); }
#page-sales .so-tcard.so-sel { border-color: rgba(201,168,76,0.5); background: linear-gradient(150deg, rgba(201,168,76,0.12), rgba(201,168,76,0.03)); box-shadow: 0 0 0 1px rgba(201,168,76,0.2); }
#page-sales .so-tcard .so-tc-ic { width: 26px; height: 26px; border-radius: 8px; display: grid; place-items: center; }
#page-sales .so-tcard .so-tc-ic svg { width: 14px; height: 14px; }
#page-sales .so-tcard .so-tc-n { font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 11px; color: #F0EBE2; }
#page-sales .so-tcard .so-tc-d { font-size: 9.5px; color: #8A857D; line-height: 1.3; }
/* FIX_OFFERS_S2G_STARTER_2026_09_19 -- "Start from a template" affordance (src/render_sales.js
   __soTemplateSectionHtml / renderTemplateRow). Small pill row above the required Offer type
   field, in the existing .so-tcard family's visual language. */
#page-sales .so-tplgrid { display: flex; flex-wrap: wrap; gap: 8px; }
#page-sales .so-tplcard { padding: 7px 13px; border-radius: 999px; background: rgba(0,0,0,0.2); border: 1px solid rgba(255,255,255,0.07); cursor: pointer; transition: .16s cubic-bezier(0.4,0,0.2,1); font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 10.5px; color: #F0EBE2; }
#page-sales .so-tplcard:hover { border-color: rgba(255,255,255,0.13); background: rgba(255,255,255,0.03); }
#page-sales .so-tplcard.so-sel { border-color: rgba(201,168,76,0.5); background: linear-gradient(150deg, rgba(201,168,76,0.12), rgba(201,168,76,0.03)); box-shadow: 0 0 0 1px rgba(201,168,76,0.2); }
#page-sales .so-cmp-avail { margin: 6px 0 16px; padding: 13px 14px; border-radius: 12px; background: linear-gradient(100deg, rgba(63,182,168,0.06), rgba(201,168,76,0.04)); border: 1px solid rgba(63,182,168,0.22); }
#page-sales .so-cmp-avail h5 { font-size: 10px; letter-spacing: .6px; text-transform: uppercase; color: #3FB6A8; font-family: 'Montserrat', sans-serif; font-weight: 700; margin-bottom: 8px; display: flex; align-items: center; gap: 7px; }
#page-sales .so-cmp-avail h5 svg { width: 13px; height: 13px; stroke: #3FB6A8; }
#page-sales .so-cmp-avail .so-ca-chips { display: flex; gap: 7px; flex-wrap: wrap; }
#page-sales .so-cmp-avail .so-ca-note { font-size: 10.5px; color: #8A857D; margin-top: 9px; line-height: 1.45; }
#page-sales .so-cmp-avail .so-ca-note b { color: #C4BFB6; font-weight: 600; }
/* FIX_OFFERS_S2C_TRUECOST_2026_09_19 — §3.C.3: the composer's cost & margin panel. Own scoped
   classes (never relying on an ancestor class it does not carry — .so-cost-panel is applied
   directly on its own container alongside .so-fld, per this build's own dual-class instruction),
   so the panel renders correctly regardless of what other section classes happen to be nearby. */
#page-sales .so-cost-panel { margin: 6px 0 16px; padding: 13px 14px; border-radius: 12px; background: linear-gradient(100deg, rgba(201,168,76,0.07), rgba(63,182,168,0.04)); border: 1px solid rgba(201,168,76,0.24); }
#page-sales .so-cost-row { display: flex; align-items: baseline; justify-content: space-between; padding: 6px 0; border-bottom: 1px solid rgba(255,255,255,0.07); font-size: 12px; }
#page-sales .so-cost-row:last-child { border-bottom: none; }
#page-sales .so-cost-row span { color: #8A857D; }
#page-sales .so-cost-row b { font-family: 'Montserrat', sans-serif; font-weight: 700; color: #F0EBE2; font-size: 12px; text-align: right; }
#page-sales .so-cost-note { font-size: 10.5px; color: #8A857D; margin-top: 4px; line-height: 1.45; }
/* FIX_OFFERS_LIFECYCLE_2026_09_08 (build_offers_s2f_lifecycle_draft_brief.md §3.F.4) -- the
   three inner elements of the customer-facing preview panel. The panel wrapper itself reuses
   .so-cost-panel (immediately above) verbatim -- no new wrapper rule. */
#page-sales .so-custprev-name { font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 13px; color: #F0EBE2; margin-bottom: 4px; }
#page-sales .so-custprev-mech { font-size: 12.5px; color: #C4BFB6; line-height: 1.4; margin-bottom: 4px; }
#page-sales .so-custprev-mech .so-ded { color: #C9A84C; }
#page-sales .so-custprev-terms { font-size: 10.5px; color: #8A857D; line-height: 1.4; }
#page-sales .so-cmp-casl { display: flex; align-items: center; gap: 9px; margin: 4px 0 6px; padding: 10px 13px; border-radius: 11px; background: rgba(91,155,213,0.05); border: 1px solid rgba(91,155,213,0.2); font-size: 10.5px; color: #8A857D; line-height: 1.4; }
#page-sales .so-cmp-casl svg { width: 14px; height: 14px; stroke: #5B9BD5; flex: none; }
#page-sales .so-cmp-casl b { color: #C4BFB6; font-weight: 700; }
#page-sales .so-cmp-casl .so-crm { color: #4CAF7D; font-weight: 700; }
#page-sales .so-cmp-casl .so-leg { color: #5B9BD5; font-weight: 700; }
#page-sales .so-cmp-foot { margin-top: 16px; padding-top: 16px; border-top: 1px solid rgba(255,255,255,0.07); display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
#page-sales .so-cmp-foot .so-cf-note { font-size: 10px; color: #8A857D; margin-right: auto; max-width: 46%; line-height: 1.4; }
#page-sales .so-cmp-foot .so-cf-note b { color: #C9A84C; font-weight: 600; }
#page-sales .so-btn-ghost { font-family: 'Montserrat', sans-serif; font-size: 12px; font-weight: 600; cursor: pointer; border-radius: 9px; padding: 9px 15px; border: 1px solid rgba(255,255,255,0.13); background: rgba(255,255,255,0.04); color: #C4BFB6; transition: .16s cubic-bezier(0.4,0,0.2,1); }
#page-sales .so-btn-ghost:hover { background: rgba(255,255,255,0.09); color: #F0EBE2; }
#page-sales .so-cmp-coming-pill { display: inline-block; margin-left: 8px; font-size: 8.5px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: #8A857D; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.1); border-radius: 999px; padding: 2px 7px; }

@media (prefers-reduced-motion: reduce) {
  #page-sales .so-rk-bar i, #page-sales .so-mbar .so-mb-track i { transition: none !important; }
}

/* ════════════════════════════════════════════════════════════════════════════
   FIX_SALES_WINBACK_S1_2026_06_17 — Win-Back Agent (RECOMMEND surface) styles, scoped
   under #page-sales. Built TO design_samples/sales/sales_winback_agent.html at ultra-HD
   fidelity (the founder sample is the spec). The sample's flat classes (.agent-banner /
   .autonomy / .compliance-cue / .kpi / .qcard / .qc-* / .seg-* / .log* / .composer /
   .cmp-*) are translated to a #page-sales-scoped .swb-* namespace; literal hex values
   mirror the sample's :root tokens. The draft composer reuses the SHIPPED top-level
   .rk-modal / .rk-mod-scrim shell (activation classes rk-mod-show / rk-mod-in) rather
   than re-introducing the sample's .composer shell — the composer-specific interior
   styling rides .swb-cmp-* under that shell. ASCII-only comments throughout. ──────── */

/* agent status banner + autonomy (sample L160-196, L588-611) */
#page-sales .swb-banner { position: relative; overflow: hidden; background: linear-gradient(110deg, rgba(201,168,76,0.13), rgba(232,148,58,0.06) 42%, rgba(255,255,255,0.018) 70%); border: 1px solid rgba(201,168,76,0.3); border-radius: 16px; padding: 16px 20px; margin-bottom: 18px; display: flex; align-items: center; gap: 16px; box-shadow: 0 22px 50px -36px #000, inset 0 1px 0 rgba(255,255,255,0.05), 0 0 30px -16px rgba(201,168,76,0.4); }
#page-sales .swb-banner::after { content: ""; position: absolute; inset: 0; background: radial-gradient(420px 160px at 0% 50%, rgba(201,168,76,0.10), transparent 70%); pointer-events: none; }
#page-sales .swb-av-ic { width: 46px; height: 46px; border-radius: 13px; flex: none; z-index: 1; background: linear-gradient(150deg, rgba(201,168,76,0.95), rgba(156,127,51,0.7)); display: grid; place-items: center; box-shadow: 0 6px 20px -6px rgba(201,168,76,0.5), inset 0 1px 0 rgba(255,255,255,0.35); position: relative; }
#page-sales .swb-av-ic svg { width: 24px; height: 24px; stroke: #1a160c; }
#page-sales .swb-av-ic .swb-live { position: absolute; top: -3px; right: -3px; width: 13px; height: 13px; border-radius: 50%; background: #4CAF7D; border: 2px solid #1f1c19; box-shadow: 0 0 8px #4CAF7D; }
#page-sales .swb-av-txt { flex: 1; min-width: 0; z-index: 1; }
#page-sales .swb-at-line { font-size: 14.5px; color: #F0EBE2; font-weight: 600; font-family: 'Montserrat', sans-serif; letter-spacing: .1px; }
#page-sales .swb-at-line b { color: #C9A84C; font-weight: 800; }
#page-sales .swb-at-line .swb-stake { color: #E8943A; font-weight: 800; }
#page-sales .swb-at-sub { font-size: 11.5px; color: #8A857D; margin-top: 4px; display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
#page-sales .swb-at-sub .swb-lock { display: inline-flex; align-items: center; gap: 5px; color: #4CAF7D; font-weight: 600; }
#page-sales .swb-at-sub .swb-lock svg { width: 12px; height: 12px; stroke: #4CAF7D; }
#page-sales .swb-at-sub .swb-synced { display: inline-flex; align-items: center; gap: 5px; color: #5B9BD5; font-weight: 600; }
#page-sales .swb-at-sub .swb-synced svg { width: 12px; height: 12px; stroke: #5B9BD5; }
#page-sales .swb-at-sub .swb-leg { display: inline-flex; align-items: center; gap: 5px; color: #5B9BD5; font-weight: 600; }
#page-sales .swb-at-sub .swb-leg svg { width: 12px; height: 12px; stroke: #5B9BD5; }
#page-sales .swb-autonomy { z-index: 1; flex: none; display: flex; flex-direction: column; align-items: flex-end; gap: 7px; }
#page-sales .swb-au-lbl { font-size: 9px; letter-spacing: .9px; text-transform: uppercase; color: #8A857D; font-weight: 700; }
#page-sales .swb-au-seg { display: flex; background: rgba(0,0,0,0.28); border: 1px solid rgba(255,255,255,0.13); border-radius: 10px; padding: 3px; gap: 2px; }
#page-sales .swb-au-opt { font-family: 'Montserrat', sans-serif; font-size: 10.5px; font-weight: 600; color: #8A857D; padding: 6px 11px; border-radius: 8px; cursor: pointer; transition: .18s cubic-bezier(0.4,0,0.2,1); white-space: nowrap; }
#page-sales .swb-au-opt:hover { color: #C4BFB6; }
#page-sales .swb-au-opt.on { background: linear-gradient(180deg, rgba(201,168,76,0.9), rgba(156,127,51,0.8)); color: #1a160c; font-weight: 800; box-shadow: 0 4px 14px -5px rgba(201,168,76,0.6), inset 0 1px 0 rgba(255,255,255,0.3); }
/* the FORBIDDEN Auto-send option: rendered visibly but held/disabled — a held posture, never an active state (sample flashAutoBlocked L1419) */
#page-sales .swb-au-opt.swb-au-held { opacity: .5; cursor: not-allowed; position: relative; }
#page-sales .swb-au-opt.swb-au-held::after { content: "held"; position: absolute; top: -7px; right: -4px; font-size: 7.5px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: #E05555; background: rgba(224,85,85,0.16); border: 1px solid rgba(224,85,85,0.4); border-radius: 999px; padding: 1px 5px; }
#page-sales .swb-au-note { font-size: 9.5px; color: #8A857D; max-width: 200px; text-align: right; line-height: 1.35; }
#page-sales .swb-au-note b { color: #4CAF7D; font-weight: 700; }

/* consent / compliance explainer band (sample L442-448, L614-618) */
#page-sales .swb-cue { display: flex; align-items: center; gap: 9px; margin: -8px 0 18px; padding: 9px 14px; border-radius: 12px; background: rgba(91,155,213,0.05); border: 1px solid rgba(91,155,213,0.18); font-size: 11px; color: #8A857D; line-height: 1.4; }
#page-sales .swb-cue svg { width: 14px; height: 14px; stroke: #5B9BD5; flex: none; }
#page-sales .swb-cue b { font-weight: 700; }
#page-sales .swb-cue .swb-crm { color: #4CAF7D; }
#page-sales .swb-cue .swb-legc { color: #5B9BD5; }
#page-sales .swb-cue .swb-casl-tag { margin-left: auto; font-family: 'Montserrat', sans-serif; font-size: 9px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #5B9BD5; background: rgba(91,155,213,0.1); border: 1px solid rgba(91,155,213,0.3); border-radius: 999px; padding: 3px 9px; flex: none; }

/* KPI strip accent rails (sample L139-158); reuses the shipped .sa-kpis grid + .sa-kpi tile */
#page-sales .sa-kpi.swb-k-drafts::before { background: #C9A84C; }
#page-sales .sa-kpi.swb-k-stake::before { background: #E8943A; }
#page-sales .sa-kpi.swb-k-sent::before { background: #5B9BD5; }
#page-sales .sa-kpi.swb-k-recov::before { background: #4CAF7D; }

/* queue + side log grid (sample L198-205) */
#page-sales .swb-grid { display: grid; grid-template-columns: 1fr 320px; gap: 18px; align-items: start; }
@media (max-width: 1180px) { #page-sales .swb-grid { grid-template-columns: 1fr; } }
#page-sales .swb-panel { background: linear-gradient(170deg, #252220, #1e1b19); border: 1px solid rgba(255,255,255,0.07); border-radius: 16px; padding: 18px 20px; box-shadow: 0 22px 50px -36px #000, inset 0 1px 0 rgba(255,255,255,0.05); }
#page-sales .swb-panel-h { display: flex; align-items: center; justify-content: space-between; margin-bottom: 3px; }
#page-sales .swb-panel-h h3 { font-size: 14px; letter-spacing: .4px; display: flex; align-items: center; gap: 9px; font-family: 'Montserrat', sans-serif; color: #F0EBE2; font-weight: 700; }
#page-sales .swb-panel-h h3 .swb-glyph { width: 24px; height: 24px; border-radius: 8px; background: linear-gradient(150deg, rgba(201,168,76,0.24), rgba(232,148,58,0.1)); display: grid; place-items: center; box-shadow: inset 0 1px 0 rgba(255,255,255,0.1); }
#page-sales .swb-panel-h h3 .swb-glyph svg { width: 14px; height: 14px; stroke: #C9A84C; }
#page-sales .swb-panel-h .swb-count { font-size: 10.5px; font-weight: 700; color: #F0EBE2; background: rgba(201,168,76,0.16); border: 1px solid rgba(201,168,76,0.36); border-radius: 999px; padding: 3px 11px; letter-spacing: .03em; font-family: 'Montserrat', sans-serif; }
#page-sales .swb-panel-h .swb-count.swb-loop { background: rgba(76,175,125,0.14); border-color: rgba(76,175,125,0.32); color: #4CAF7D; }
#page-sales .swb-panel-sub { font-size: 11.5px; color: #8A857D; margin: 2px 0 14px; line-height: 1.45; }

/* segment filter chips (sample L213-219) */
#page-sales .swb-seg-filter { display: flex; gap: 7px; flex-wrap: wrap; margin: 0 0 16px; }
#page-sales .swb-seg-chip { font-family: 'Montserrat', sans-serif; font-size: 11px; font-weight: 600; padding: 6px 12px; border-radius: 9px; border: 1px solid rgba(255,255,255,0.07); background: rgba(255,255,255,0.02); color: #8A857D; cursor: pointer; transition: .16s cubic-bezier(0.4,0,0.2,1); display: flex; align-items: center; gap: 7px; }
#page-sales .swb-seg-chip:hover { color: #C4BFB6; border-color: rgba(255,255,255,0.13); }
#page-sales .swb-seg-chip.on { color: #F0EBE2; border-color: rgba(201,168,76,0.45); background: linear-gradient(180deg, rgba(201,168,76,0.16), rgba(201,168,76,0.04)); box-shadow: inset 0 0 0 1px rgba(201,168,76,0.2); }
#page-sales .swb-seg-chip .swb-sc-n { font-weight: 800; color: #C9A84C; }

/* queue card (sample L221-342) */
#page-sales .swb-q-list { display: flex; flex-direction: column; gap: 12px; }
#page-sales .swb-card { position: relative; overflow: hidden; border: 1px solid rgba(255,255,255,0.07); border-radius: 14px; background: rgba(255,255,255,0.018); transition: .2s cubic-bezier(0.4,0,0.2,1); }
#page-sales .swb-card::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--swb-seg, #C9A84C); }
#page-sales .swb-card:hover { border-color: rgba(255,255,255,0.13); background: rgba(255,255,255,0.03); box-shadow: 0 18px 40px -30px #000; }
#page-sales .swb-card.swb-seg-trial { --swb-seg: #E8943A; }
#page-sales .swb-card.swb-seg-stall { --swb-seg: #5B9BD5; }
#page-sales .swb-card.swb-seg-churn { --swb-seg: #E05555; }
#page-sales .swb-card.swb-seg-price { --swb-seg: #3FB6A8; }
#page-sales .swb-card.swb-seg-block { --swb-seg: #8A857D; }
#page-sales .swb-card.is-blocked::before { background: #E05555; }
#page-sales .swb-card.is-done { opacity: .5; }
#page-sales .swb-card.is-done .swb-acts { display: none; }
#page-sales .swb-qc-top { display: flex; align-items: flex-start; gap: 13px; padding: 15px 16px 12px; }
#page-sales .swb-qc-ava { width: 42px; height: 42px; border-radius: 12px; flex: none; display: grid; place-items: center; font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 15px; color: #1a160c; box-shadow: inset 0 1px 0 rgba(255,255,255,0.3); background: linear-gradient(145deg, #8A857D, #5a544c); }
#page-sales .swb-seg-trial .swb-qc-ava { background: linear-gradient(145deg, #E8943A, #c5781f); }
#page-sales .swb-seg-stall .swb-qc-ava { background: linear-gradient(145deg, #5B9BD5, #3d76aa); }
#page-sales .swb-seg-churn .swb-qc-ava { background: linear-gradient(145deg, #E05555, #b03c3c); color: #fff; }
#page-sales .swb-seg-price .swb-qc-ava { background: linear-gradient(145deg, #3FB6A8, #2a8479); color: #fff; }
#page-sales .swb-qc-id { flex: 1; min-width: 0; }
#page-sales .swb-qc-name-row { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; }
#page-sales .swb-qc-name { font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 14.5px; color: #F0EBE2; }
#page-sales .swb-qc-seg-tag { font-family: 'Montserrat', sans-serif; font-size: 9px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: 2px 8px; border-radius: 999px; color: #8A857D; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.07); }
#page-sales .swb-seg-trial .swb-qc-seg-tag { color: #E8943A; background: rgba(232,148,58,0.14); border-color: rgba(232,148,58,0.32); }
#page-sales .swb-seg-stall .swb-qc-seg-tag { color: #5B9BD5; background: rgba(91,155,213,0.14); border-color: rgba(91,155,213,0.32); }
#page-sales .swb-seg-churn .swb-qc-seg-tag { color: #E05555; background: rgba(224,85,85,0.14); border-color: rgba(224,85,85,0.32); }
#page-sales .swb-seg-price .swb-qc-seg-tag { color: #3FB6A8; background: rgba(63,182,168,0.14); border-color: rgba(63,182,168,0.32); }
#page-sales .swb-qc-ctx { font-size: 11.5px; color: #8A857D; margin-top: 4px; line-height: 1.45; }
#page-sales .swb-qc-ctx b { color: #C4BFB6; font-weight: 600; }
#page-sales .swb-qc-meta { flex: none; display: flex; flex-direction: column; align-items: flex-end; gap: 7px; }
#page-sales .swb-qc-val { font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 16px; color: #F0EBE2; line-height: 1; text-align: right; }
#page-sales .swb-qc-val small { display: block; font-size: 9px; color: #8A857D; font-weight: 600; text-align: right; margin-top: 3px; letter-spacing: .04em; }
#page-sales .swb-qc-conf { display: flex; align-items: center; gap: 6px; font-size: 10px; font-family: 'Montserrat', sans-serif; font-weight: 700; border-radius: 999px; padding: 3px 9px; letter-spacing: .02em; }
#page-sales .swb-qc-conf.high { color: #4CAF7D; background: rgba(76,175,125,0.13); border: 1px solid rgba(76,175,125,0.3); }
#page-sales .swb-qc-conf.med { color: #E8943A; background: rgba(232,148,58,0.13); border: 1px solid rgba(232,148,58,0.3); }
#page-sales .swb-qc-conf.low { color: #8A857D; background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.07); }
#page-sales .swb-qc-conf .swb-cdot { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }

/* consent + compliance chip row (sample L263-297) */
#page-sales .swb-qc-compliance { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin: 0 16px 11px; padding: 9px 11px; border-radius: 11px; background: rgba(0,0,0,0.16); border: 1px solid rgba(255,255,255,0.07); }
#page-sales .swb-cchip { display: inline-flex; align-items: center; gap: 6px; font-family: 'Montserrat', sans-serif; font-size: 10px; font-weight: 700; border-radius: 999px; padding: 4px 10px; letter-spacing: .01em; line-height: 1.1; }
#page-sales .swb-cchip svg { width: 12px; height: 12px; flex: none; }
#page-sales .swb-cchip .swb-src { font-weight: 600; opacity: .62; letter-spacing: .02em; }
#page-sales .swb-cchip.consent-express { color: #4CAF7D; background: rgba(76,175,125,0.12); border: 1px solid rgba(76,175,125,0.3); }
#page-sales .swb-cchip.consent-express svg { stroke: #4CAF7D; }
#page-sales .swb-cchip.consent-implied { color: #C9A84C; background: rgba(201,168,76,0.1); border: 1px solid rgba(201,168,76,0.3); }
#page-sales .swb-cchip.consent-implied svg { stroke: #C9A84C; }
#page-sales .swb-cchip.consent-lapsed, #page-sales .swb-cchip.consent-unknown { color: #E05555; background: rgba(224,85,85,0.1); border: 1px solid rgba(224,85,85,0.3); }
#page-sales .swb-cchip.consent-lapsed svg, #page-sales .swb-cchip.consent-unknown svg { stroke: #E05555; }
#page-sales .swb-cchip.verdict-clear { color: #4CAF7D; background: rgba(76,175,125,0.16); border: 1px solid rgba(76,175,125,0.4); box-shadow: inset 0 0 0 1px rgba(76,175,125,0.08); }
#page-sales .swb-cchip.verdict-clear svg { stroke: #4CAF7D; }
#page-sales .swb-cchip.verdict-caution { color: #E8943A; background: rgba(232,148,58,0.16); border: 1px solid rgba(232,148,58,0.42); box-shadow: inset 0 0 0 1px rgba(232,148,58,0.08); }
#page-sales .swb-cchip.verdict-caution svg { stroke: #E8943A; }
#page-sales .swb-cchip.verdict-blocked { color: #E05555; background: rgba(224,85,85,0.16); border: 1px solid rgba(224,85,85,0.44); box-shadow: inset 0 0 0 1px rgba(224,85,85,0.08); }
#page-sales .swb-cchip.verdict-blocked svg { stroke: #E05555; }
#page-sales .swb-qc-compliance .swb-cc-arrow { color: #8A857D; opacity: .5; font-size: 11px; margin: 0 -1px; }

/* blocked reason banner (sample L291-297) */
#page-sales .swb-qc-blockmsg { display: flex; align-items: flex-start; gap: 9px; margin: 0 16px; padding: 10px 13px; border-radius: 11px; background: rgba(224,85,85,0.07); border: 1px solid rgba(224,85,85,0.24); }
#page-sales .swb-qc-blockmsg svg { width: 15px; height: 15px; stroke: #E05555; flex: none; margin-top: 1px; }
#page-sales .swb-qc-blockmsg .swb-bm-t { font-size: 11.5px; color: #C4BFB6; line-height: 1.4; }
#page-sales .swb-qc-blockmsg .swb-bm-t b { color: #ec8585; font-weight: 700; }
#page-sales .swb-qc-blockmsg .swb-bm-t .swb-alt { display: block; margin-top: 3px; color: #8A857D; font-size: 11px; }
#page-sales .swb-qc-blockmsg .swb-bm-t .swb-alt b { color: #5B9BD5; font-weight: 700; }

/* recommended action strip (sample L299-307) */
#page-sales .swb-qc-rec { margin: 0 16px; padding: 11px 13px; border-radius: 11px; background: rgba(201,168,76,0.06); border: 1px solid rgba(201,168,76,0.16); display: flex; align-items: flex-start; gap: 10px; }
#page-sales .swb-qc-rec .swb-rec-ic { width: 22px; height: 22px; border-radius: 7px; flex: none; background: rgba(201,168,76,0.18); display: grid; place-items: center; margin-top: 1px; }
#page-sales .swb-qc-rec .swb-rec-ic svg { width: 13px; height: 13px; stroke: #C9A84C; }
#page-sales .swb-qc-rec .swb-rec-body { flex: 1; min-width: 0; }
#page-sales .swb-qc-rec .swb-rec-lbl { font-size: 9px; letter-spacing: .9px; text-transform: uppercase; color: #C9A84C; font-weight: 700; margin-bottom: 2px; }
#page-sales .swb-qc-rec .swb-rec-txt { font-size: 12px; color: #C4BFB6; line-height: 1.4; }
#page-sales .swb-qc-rec .swb-rec-txt b { color: #F0EBE2; font-weight: 600; }
#page-sales .swb-qc-rec .swb-rec-offer { display: inline-block; margin-top: 6px; font-family: 'Montserrat', sans-serif; font-size: 10.5px; font-weight: 700; color: #C9A84C; background: rgba(201,168,76,0.1); border: 1px solid rgba(201,168,76,0.3); border-radius: 7px; padding: 3px 9px; }

/* why-now expandable (sample L309-326) */
#page-sales .swb-qc-why { margin: 10px 16px 0; }
#page-sales .swb-qc-why-toggle { display: flex; align-items: center; gap: 7px; font-size: 11px; color: #8A857D; cursor: pointer; font-weight: 600; user-select: none; transition: .16s; width: fit-content; }
#page-sales .swb-qc-why-toggle:hover { color: #C9A84C; }
#page-sales .swb-qc-why-toggle .swb-chev { width: 13px; height: 13px; transition: transform .22s cubic-bezier(0.4,0,0.2,1); }
#page-sales .swb-qc-why-toggle .swb-chev svg { width: 13px; height: 13px; stroke: currentColor; }
#page-sales .swb-qc-why.open .swb-qc-why-toggle .swb-chev { transform: rotate(90deg); }
#page-sales .swb-qc-why-toggle .swb-spark svg { width: 13px; height: 13px; stroke: #C9A84C; }
#page-sales .swb-qc-why-body { max-height: 0; overflow: hidden; transition: max-height .3s cubic-bezier(0.4,0,0.2,1); }
#page-sales .swb-qc-why.open .swb-qc-why-body { max-height: 260px; }
#page-sales .swb-qc-why-inner { padding: 11px 13px; margin-top: 9px; border-radius: 11px; background: rgba(0,0,0,0.18); border: 1px solid rgba(255,255,255,0.07); }
#page-sales .swb-qc-why-inner .swb-wr { display: flex; align-items: flex-start; gap: 9px; font-size: 11.5px; color: #C4BFB6; padding: 4px 0; line-height: 1.45; }
#page-sales .swb-qc-why-inner .swb-wr .swb-wd { width: 6px; height: 6px; border-radius: 50%; background: #C9A84C; flex: none; margin-top: 5px; }
#page-sales .swb-qc-why-inner .swb-wr b { color: #F0EBE2; font-weight: 600; }
#page-sales .swb-qc-why-inner .swb-wfoot { margin-top: 8px; padding-top: 8px; border-top: 1px solid rgba(255,255,255,0.07); font-size: 10px; color: #8A857D; display: flex; align-items: center; gap: 6px; }
#page-sales .swb-qc-why-inner .swb-wfoot svg { width: 11px; height: 11px; stroke: #C9A84C; flex: none; }
#page-sales .swb-qc-why-inner .swb-wfoot b { color: #C4BFB6; }

/* card actions (sample L328-342) */
#page-sales .swb-qc-acts { display: flex; align-items: center; gap: 9px; padding: 13px 16px 15px; margin-top: 11px; border-top: 1px solid rgba(255,255,255,0.07); }
#page-sales .swb-qbtn { font-family: 'Montserrat', sans-serif; font-size: 11.5px; font-weight: 600; cursor: pointer; border-radius: 9px; padding: 9px 15px; border: 1px solid rgba(255,255,255,0.13); background: rgba(255,255,255,0.04); color: #C4BFB6; transition: all .16s cubic-bezier(0.4,0,0.2,1); white-space: nowrap; box-shadow: inset 0 1px 0 rgba(255,255,255,0.05); display: inline-flex; align-items: center; gap: 7px; }
#page-sales .swb-qbtn svg { width: 14px; height: 14px; stroke: currentColor; }
#page-sales .swb-qbtn:hover { background: rgba(255,255,255,0.09); color: #F0EBE2; transform: translateY(-1px); border-color: #C9A84C; }
#page-sales .swb-qbtn.primary { background: linear-gradient(180deg, #C9A84C, #9c7f33); border-color: transparent; color: #16140F; font-weight: 800; box-shadow: 0 6px 18px -7px rgba(201,168,76,0.55), inset 0 1px 0 rgba(255,255,255,0.3); }
#page-sales .swb-qbtn.primary:hover { color: #16140F; transform: translateY(-1px); }
#page-sales .swb-qbtn.primary svg { stroke: #16140F; }
#page-sales .swb-qbtn.send { background: rgba(76,175,125,0.12); border-color: rgba(76,175,125,0.34); color: #4CAF7D; }
#page-sales .swb-qbtn.send:hover { background: rgba(76,175,125,0.2); color: #7fdba8; border-color: rgba(76,175,125,0.5); }
#page-sales .swb-qbtn.send svg { stroke: #4CAF7D; }
#page-sales .swb-qbtn.skip { margin-left: auto; background: transparent; border-color: transparent; color: #8A857D; }
#page-sales .swb-qbtn.skip:hover { color: #C4BFB6; background: rgba(255,255,255,0.03); transform: none; border-color: transparent; }
#page-sales .swb-qbtn.is-locked { opacity: .42; cursor: not-allowed; pointer-events: none; background: rgba(224,85,85,0.06); border-color: rgba(224,85,85,0.22); color: #8A857D; }
#page-sales .swb-qbtn.is-locked svg { stroke: #8A857D; }
#page-sales .swb-qbtn.repermit { background: rgba(91,155,213,0.12); border-color: rgba(91,155,213,0.36); color: #5B9BD5; }
#page-sales .swb-qbtn.repermit:hover { background: rgba(91,155,213,0.2); color: #8fc0ee; border-color: rgba(91,155,213,0.52); }
#page-sales .swb-qbtn.repermit svg { stroke: #5B9BD5; }
#page-sales .swb-qc-channel { font-size: 10px; color: #8A857D; font-weight: 600; display: inline-flex; align-items: center; gap: 5px; margin-right: auto; }
#page-sales .swb-qc-channel svg { width: 12px; height: 12px; stroke: #8A857D; }

/* outcomes / sent log side rail (sample L344-368) */
#page-sales .swb-log-panel { position: sticky; top: 0; }
#page-sales .swb-log-list { display: flex; flex-direction: column; gap: 9px; }
#page-sales .swb-logrow { display: flex; align-items: flex-start; gap: 10px; padding: 10px 11px; border-radius: 11px; background: rgba(255,255,255,0.018); border: 1px solid rgba(255,255,255,0.07); transition: .16s cubic-bezier(0.4,0,0.2,1); }
#page-sales .swb-logrow:hover { background: rgba(255,255,255,0.035); border-color: rgba(255,255,255,0.13); }
#page-sales .swb-logrow .swb-lr-ic { width: 28px; height: 28px; border-radius: 8px; flex: none; display: grid; place-items: center; }
#page-sales .swb-logrow .swb-lr-ic svg { width: 14px; height: 14px; }
#page-sales .swb-lr-ic.replied { background: rgba(76,175,125,0.14); } #page-sales .swb-lr-ic.replied svg { stroke: #4CAF7D; }
#page-sales .swb-lr-ic.react { background: rgba(201,168,76,0.16); } #page-sales .swb-lr-ic.react svg { stroke: #C9A84C; }
#page-sales .swb-lr-ic.none { background: rgba(255,255,255,0.04); } #page-sales .swb-lr-ic.none svg { stroke: #8A857D; }
#page-sales .swb-lr-ic.pending { background: rgba(91,155,213,0.14); } #page-sales .swb-lr-ic.pending svg { stroke: #5B9BD5; }
#page-sales .swb-logrow .swb-lr-body { flex: 1; min-width: 0; }
#page-sales .swb-logrow .swb-lr-top { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
#page-sales .swb-logrow .swb-lr-name { font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 12px; color: #F0EBE2; }
#page-sales .swb-logrow .swb-lr-when { font-size: 9.5px; color: #8A857D; flex: none; }
#page-sales .swb-logrow .swb-lr-desc { font-size: 10.5px; color: #8A857D; margin-top: 2px; line-height: 1.4; }
#page-sales .swb-logrow .swb-lr-out { font-size: 10px; font-weight: 700; font-family: 'Montserrat', sans-serif; margin-top: 4px; display: inline-flex; align-items: center; gap: 5px; }
#page-sales .swb-lr-out.replied { color: #4CAF7D; } #page-sales .swb-lr-out.react { color: #C9A84C; } #page-sales .swb-lr-out.none { color: #8A857D; } #page-sales .swb-lr-out.pending { color: #5B9BD5; }
#page-sales .swb-log-summary { margin-top: 14px; padding-top: 13px; border-top: 1px solid rgba(255,255,255,0.07); display: flex; gap: 10px; }
#page-sales .swb-log-summary .swb-ls { flex: 1; text-align: center; }
#page-sales .swb-log-summary .swb-ls .swb-lsv { font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 18px; color: #F0EBE2; }
#page-sales .swb-log-summary .swb-ls .swb-lsl { font-size: 9px; letter-spacing: .6px; text-transform: uppercase; color: #8A857D; font-weight: 700; margin-top: 2px; }
#page-sales .swb-log-foot { margin-top: 13px; font-size: 10px; color: #8A857D; display: flex; align-items: center; gap: 7px; line-height: 1.4; padding: 10px 11px; border-radius: 10px; background: rgba(91,155,213,0.05); border: 1px solid rgba(91,155,213,0.16); }
#page-sales .swb-log-foot svg { width: 13px; height: 13px; stroke: #5B9BD5; flex: none; }
#page-sales .swb-log-foot b { color: #5B9BD5; font-weight: 700; }

/* draft composer interior (rides the shipped .rk-modal shell; sample L370-469, L702-771) */
#page-sales .swb-cmp-flag { display: flex; align-items: center; gap: 9px; margin: 0 0 14px; padding: 10px 13px; border-radius: 11px; background: linear-gradient(100deg, rgba(201,168,76,0.12), rgba(255,255,255,0.018)); border: 1px solid rgba(201,168,76,0.3); }
#page-sales .swb-cmp-flag svg { width: 16px; height: 16px; stroke: #C9A84C; flex: none; }
#page-sales .swb-cmp-flag .swb-cf-t { font-size: 11.5px; color: #C4BFB6; line-height: 1.4; }
#page-sales .swb-cmp-flag .swb-cf-t b { color: #C9A84C; font-weight: 700; }
#page-sales .swb-cmp-meta { display: flex; gap: 9px; margin: 0 0 14px; flex-wrap: wrap; align-items: center; }
#page-sales .swb-cmp-pill { font-size: 10.5px; font-family: 'Montserrat', sans-serif; font-weight: 600; color: #C4BFB6; background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.07); border-radius: 8px; padding: 6px 11px; display: flex; align-items: center; gap: 7px; }
#page-sales .swb-cmp-pill svg { width: 13px; height: 13px; stroke: #8A857D; }
#page-sales .swb-cmp-pill b { color: #F0EBE2; font-weight: 700; }
#page-sales .swb-cmp-pill.chan { border-color: rgba(91,155,213,0.32); }
#page-sales .swb-cmp-pill.chan svg { stroke: #5B9BD5; }
/* FIX_DENSITY_SALES_WINBACK_2026_09_16 — trust pill replacing the retired swb-at-sub/swb-cue constructs */
#page-sales .swb-trust-row { margin: 10px 0 0; }
#page-sales .swb-trust-pill { display: inline-flex; align-items: center; gap: 7px; font-family: 'Montserrat', sans-serif; font-size: 11px; font-weight: 600; padding: 5px 11px; border-radius: 8px; color: #C9A84C; background: rgba(201,168,76,0.10); border: 1px solid rgba(201,168,76,0.3); }
#page-sales .swb-trust-pill svg { width: 14px; height: 14px; stroke: currentColor; }
#page-sales .swb-cmp-toggle { display: flex; background: rgba(0,0,0,0.25); border: 1px solid rgba(255,255,255,0.07); border-radius: 8px; padding: 2px; gap: 2px; }
#page-sales .swb-cmp-toggle .swb-ct-o { font-family: 'Montserrat', sans-serif; font-size: 10px; font-weight: 700; color: #8A857D; padding: 5px 10px; border-radius: 6px; cursor: pointer; transition: .14s; }
#page-sales .swb-cmp-toggle .swb-ct-o.on { background: rgba(91,155,213,0.2); color: #5B9BD5; }
#page-sales .swb-cmp-consent { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin: 0 0 14px; padding: 10px 13px; border-radius: 11px; background: rgba(0,0,0,0.2); border: 1px solid rgba(255,255,255,0.07); }
#page-sales .swb-cmp-consent .swb-ccx-lbl { font-size: 9px; letter-spacing: .9px; text-transform: uppercase; color: #8A857D; font-weight: 700; font-family: 'Montserrat', sans-serif; margin-right: 2px; }
#page-sales .swb-cmp-sec-h { font-size: 10px; letter-spacing: .9px; text-transform: uppercase; color: #8A857D; font-weight: 700; margin: 6px 0 9px; font-family: 'Montserrat', sans-serif; display: flex; align-items: center; justify-content: space-between; }
#page-sales .swb-cmp-sec-h .swb-voice { display: inline-flex; align-items: center; gap: 5px; color: #C9A84C; font-size: 9px; text-transform: none; letter-spacing: .02em; }
#page-sales .swb-cmp-sec-h .swb-voice svg { width: 11px; height: 11px; stroke: #C9A84C; }
#page-sales .swb-cmp-subject { width: 100%; font-family: 'Open Sans', sans-serif; font-size: 12.5px; font-weight: 600; color: #F0EBE2; background: rgba(0,0,0,0.2); border: 1px solid rgba(255,255,255,0.07); border-radius: 10px; padding: 11px 13px; margin-bottom: 11px; }
#page-sales .swb-cmp-subject:focus { outline: none; border-color: rgba(201,168,76,0.4); }
#page-sales .swb-cmp-draft { width: 100%; min-height: 200px; font-family: 'Open Sans', sans-serif; font-size: 13px; line-height: 1.6; color: #C4BFB6; background: rgba(0,0,0,0.2); border: 1px solid rgba(255,255,255,0.07); border-radius: 12px; padding: 14px 15px; resize: vertical; }
#page-sales .swb-cmp-draft:focus { outline: none; border-color: rgba(201,168,76,0.4); box-shadow: 0 0 0 3px rgba(201,168,76,0.08); }
#page-sales .swb-cmp-pers { display: flex; gap: 8px; flex-wrap: wrap; margin: 11px 0 4px; }
#page-sales .swb-pers-chip { font-size: 10px; font-family: 'Montserrat', sans-serif; font-weight: 600; color: #C9A84C; background: rgba(201,168,76,0.09); border: 1px solid rgba(201,168,76,0.26); border-radius: 7px; padding: 4px 9px; display: flex; align-items: center; gap: 6px; }
#page-sales .swb-pers-chip svg { width: 11px; height: 11px; stroke: #C9A84C; }
#page-sales .swb-cmp-pers-note { font-size: 10px; color: #8A857D; margin-top: 6px; display: flex; align-items: center; gap: 6px; line-height: 1.4; }
#page-sales .swb-cmp-pers-note svg { width: 12px; height: 12px; stroke: #8A857D; flex: none; }
#page-sales .swb-cmp-casl { margin: 12px 0 2px; padding: 11px 13px; border-radius: 11px; background: rgba(91,155,213,0.05); border: 1px solid rgba(91,155,213,0.2); }
#page-sales .swb-cmp-casl .swb-cl-h { font-size: 9.5px; letter-spacing: .7px; text-transform: uppercase; color: #5B9BD5; font-weight: 700; font-family: 'Montserrat', sans-serif; display: flex; align-items: center; gap: 6px; margin-bottom: 7px; }
#page-sales .swb-cmp-casl .swb-cl-h svg { width: 13px; height: 13px; stroke: #5B9BD5; }
#page-sales .swb-cmp-casl .swb-cl-row { display: flex; align-items: flex-start; gap: 8px; font-size: 11px; color: #C4BFB6; padding: 3px 0; line-height: 1.4; }
#page-sales .swb-cmp-casl .swb-cl-row svg { width: 13px; height: 13px; stroke: #4CAF7D; flex: none; margin-top: 1px; }
#page-sales .swb-cmp-casl .swb-cl-row b { color: #F0EBE2; font-weight: 600; }
#page-sales .swb-cmp-casl .swb-cl-foot { margin-top: 7px; padding-top: 7px; border-top: 1px solid rgba(255,255,255,0.07); font-size: 9.5px; color: #8A857D; line-height: 1.4; }
#page-sales .swb-cmp-casl .swb-cl-foot b { color: #5B9BD5; font-weight: 700; }
/* FIX_CASL_SENDER_PROFILE_2026_07_17 — incomplete-CASL modifier. The panel's default blue/green reads
   as "you're covered"; when the sender block can't be completed from the profile that reassurance is
   exactly wrong, so the gap state re-tones to the amber already used for attention on this surface
   (#E8943A — the same token as the .swb seg 'trial' / sq expiring accents). Modifier only; the
   compliant state is untouched. */
#page-sales .swb-cmp-casl.swb-cl-gap { background: rgba(232,148,58,0.05); border-color: rgba(232,148,58,0.28); }
#page-sales .swb-cmp-casl.swb-cl-gap .swb-cl-h { color: #E8943A; }
#page-sales .swb-cmp-casl.swb-cl-gap .swb-cl-h svg { stroke: #E8943A; }
#page-sales .swb-cmp-casl .swb-cl-row.swb-cl-warn svg { stroke: #E8943A; }
#page-sales .swb-cmp-casl.swb-cl-gap .swb-cl-foot b { color: #E8943A; }
#page-sales .swb-cmp-foot-note { font-size: 10px; color: #8A857D; margin-right: auto; max-width: 46%; line-height: 1.4; display: flex; align-items: center; gap: 7px; }
#page-sales .swb-cmp-foot-note svg { width: 14px; height: 14px; stroke: #4CAF7D; flex: none; }
#page-sales .swb-cmp-foot-note b { color: #4CAF7D; font-weight: 700; }
#page-sales .swb-cmp-foot-note.blocked svg { stroke: #E05555; }
#page-sales .swb-cmp-foot-note.blocked b { color: #ec8585; }
/* send button is honest-COMING: the green Approve & send affordance carries a "queued" pill */
#page-sales .swb-cbtn-coming-pill { display: inline-block; margin-left: 8px; font-size: 8.5px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: #8A857D; background: rgba(255,255,255,0.12); border: 1px solid rgba(255,255,255,0.18); border-radius: 999px; padding: 2px 7px; }
#page-sales .swb-cbtn.send-now { background: linear-gradient(180deg, #4CAF7D, #3a8d63); border-color: transparent; color: #fff; box-shadow: 0 8px 22px -8px rgba(76,175,125,0.55), inset 0 1px 0 rgba(255,255,255,0.25); font-family: 'Montserrat', sans-serif; font-size: 12px; font-weight: 700; cursor: pointer; border-radius: 10px; padding: 11px 17px; display: inline-flex; align-items: center; gap: 7px; transition: all .16s cubic-bezier(0.4,0,0.2,1); }
#page-sales .swb-cbtn.send-now:hover { transform: translateY(-1px); box-shadow: 0 12px 28px -8px rgba(76,175,125,0.7), inset 0 1px 0 rgba(255,255,255,0.25); }
#page-sales .swb-cbtn.send-now svg { width: 15px; height: 15px; stroke: #fff; }
#page-sales .swb-cbtn.send-now.is-locked { background: rgba(224,85,85,0.08); border-color: rgba(224,85,85,0.26); color: #8A857D; cursor: not-allowed; pointer-events: none; box-shadow: none; }
#page-sales .swb-cbtn.send-now.is-locked svg { stroke: #8A857D; }
#page-sales .swb-cbtn.repermit { background: linear-gradient(180deg, #5B9BD5, #3d76aa); border-color: transparent; color: #fff; box-shadow: 0 8px 22px -8px rgba(91,155,213,0.5), inset 0 1px 0 rgba(255,255,255,0.22); }
#page-sales .swb-cbtn.repermit svg { stroke: #fff; }
#page-sales .swb-cbtn.ghost { font-family: 'Montserrat', sans-serif; font-size: 12px; font-weight: 700; cursor: pointer; border-radius: 10px; padding: 11px 17px; border: 1px solid transparent; background: transparent; color: #8A857D; transition: all .16s cubic-bezier(0.4,0,0.2,1); display: inline-flex; align-items: center; gap: 7px; }
#page-sales .swb-cbtn.ghost:hover { color: #C4BFB6; background: rgba(255,255,255,0.03); }
#page-sales .swb-cbtn.sched { font-family: 'Montserrat', sans-serif; font-size: 12px; font-weight: 700; cursor: pointer; border-radius: 10px; padding: 11px 17px; border: 1px solid rgba(255,255,255,0.13); background: rgba(255,255,255,0.04); color: #C4BFB6; transition: all .16s cubic-bezier(0.4,0,0.2,1); display: inline-flex; align-items: center; gap: 7px; }
#page-sales .swb-cbtn.sched svg { width: 15px; height: 15px; stroke: currentColor; }
#page-sales .swb-cbtn.sched:hover { background: rgba(255,255,255,0.09); color: #F0EBE2; transform: translateY(-1px); }

/* honest-empty queue state */
#page-sales .swb-empty { padding: 28px 20px; text-align: center; color: #8A857D; font-size: 12px; line-height: 1.55; }
#page-sales .swb-empty .swb-empty-ic { width: 40px; height: 40px; margin: 0 auto 12px; border-radius: 11px; background: rgba(201,168,76,0.1); display: grid; place-items: center; }
#page-sales .swb-empty .swb-empty-ic svg { width: 20px; height: 20px; stroke: #C9A84C; }
#page-sales .swb-empty b { color: #C4BFB6; font-weight: 700; }

#page-sales .swb-footnote { font-size: 10px; color: #8A857D; margin-top: 18px; text-align: center; opacity: .7; line-height: 1.5; }

@media (prefers-reduced-motion: reduce) {
  #page-sales .swb-qc-why-body, #page-sales .swb-card { transition: none !important; }
}

/* ════════════════════════════════════════════════════════════════════════════
   FIX_SALES_RETAIL_ANALYTICS_S1_2026_06_17 — Retail Analytics styles, scoped under
   #page-sales. The fifth/final Sales drill-in: the POS-DEPENDENT, SUBSTRATE-ABSENT
   surface. POS does not exist yet (the carved-out supervised keystone), so every
   transaction-derived figure is HONEST-COMING-PREVIEW (NEVER a fabricated number).
   The .sra-* classes style the honest connect-POS surface: amber connect ribbon (NOT
   a green LIVE dot), preview KPI tiles, labelled preview panels, the empty heatmap
   axes, and the "what POS unlocks" explainer. The two real reads (member-base count,
   retail-SKU count) reuse the existing .sa-statusline tokens. ASCII-only comments.
   ════════════════════════════════════════════════════════════════════════════ */
/* amber connect-POS provenance ribbon (re-cast of the sample .prov L312 — amber, NOT green) */
#page-sales .sra-prov { display: flex; align-items: center; gap: 11px; padding: 12px 16px; margin: 4px 0 20px; border-radius: 12px; background: rgba(232,148,58,0.06); border: 1px solid rgba(232,148,58,0.22); font-size: 12.5px; color: #C4BFB6; line-height: 1.5; }
#page-sales .sra-prov .sra-pv-ic { width: 30px; height: 30px; border-radius: 9px; flex: none; display: grid; place-items: center; background: rgba(232,148,58,0.12); border: 1px solid rgba(232,148,58,0.26); }
#page-sales .sra-prov .sra-pv-ic svg { width: 16px; height: 16px; stroke: #E8943A; }
#page-sales .sra-prov b { color: #F0EBE2; font-weight: 700; }
#page-sales .sra-prov .sra-pv-flow { color: #5B9BD5; font-weight: 700; }
#page-sales .sra-prov .sra-pv-wait { margin-left: auto; display: flex; align-items: center; gap: 6px; font-size: 10px; color: #E8943A; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; flex: none; }
/* the amber waiting pulse — explicitly NOT the green LIVE dot the sample used */
#page-sales .sra-prov .sra-pv-wait .sra-wv { width: 7px; height: 7px; border-radius: 50%; background: #E8943A; box-shadow: 0 0 8px #E8943A; position: relative; }
#page-sales .sra-prov .sra-pv-wait .sra-wv::after { content: ""; position: absolute; inset: -4px; border-radius: 50%; border: 1px solid rgba(232,148,58,0.4); animation: pulse 2.6s ease-out infinite; }
/* the two REAL ready-context anchors (member base + retail SKUs), shown as honest ready chips */
#page-sales .sra-ready { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 22px; }
#page-sales .sra-ready-chip { display: flex; align-items: center; gap: 10px; padding: 11px 15px; border-radius: 11px; background: rgba(76,175,125,0.05); border: 1px solid rgba(76,175,125,0.2); flex: 1 1 240px; }
#page-sales .sra-ready-chip .sra-rc-ic { width: 30px; height: 30px; border-radius: 9px; flex: none; display: grid; place-items: center; background: rgba(76,175,125,0.12); border: 1px solid rgba(76,175,125,0.24); }
#page-sales .sra-ready-chip .sra-rc-ic svg { width: 16px; height: 16px; stroke: #4CAF7D; }
#page-sales .sra-ready-chip .sra-rc-big { font-family: 'Montserrat', sans-serif; font-size: 22px; font-weight: 800; color: #F0EBE2; line-height: 1; }
#page-sales .sra-ready-chip .sra-rc-lbl { font-size: 11px; color: #8A857D; line-height: 1.4; margin-top: 3px; }
#page-sales .sra-ready-chip .sra-rc-lbl b { color: #4CAF7D; font-weight: 700; }
/* section headers (mirror sample .sec-head L330) */
#page-sales .sra-sec-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; margin: 26px 0 12px; }
#page-sales .sra-sec-head h2 { font-size: 16px; font-weight: 800; letter-spacing: -.01em; line-height: 1.1; display: flex; align-items: center; gap: 10px; color: #F0EBE2; }
#page-sales .sra-sec-head h2 .sra-sg { width: 26px; height: 26px; border-radius: 8px; display: grid; place-items: center; background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); flex: none; }
#page-sales .sra-sec-head h2 .sra-sg svg { width: 15px; height: 15px; stroke: #C9A84C; }
#page-sales .sra-sec-head .sra-sh-sub { font-size: 11px; color: #8A857D; text-align: right; max-width: 340px; line-height: 1.4; }
/* preview KPI band — the 6-tile layout, every tile a PREVIEW tile (label + "fills when POS connects" + what-it-measures), NO value, NO data-count */
#page-sales .sra-kpis { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; margin: 4px 0 6px; }
#page-sales .sra-kpi { position: relative; border-radius: 14px; padding: 15px 14px 14px; background: rgba(255,255,255,0.018); border: 1px dashed rgba(255,255,255,0.13); overflow: hidden; }
#page-sales .sra-kpi::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: rgba(232,148,58,0.4); }
#page-sales .sra-kpi .sra-k-lbl { font-size: 11px; color: #C4BFB6; font-weight: 600; }
#page-sales .sra-kpi .sra-k-preview { display: inline-flex; align-items: center; gap: 5px; margin: 9px 0 8px; font-size: 9.5px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #E8943A; background: rgba(232,148,58,0.1); border: 1px solid rgba(232,148,58,0.24); border-radius: 999px; padding: 3px 8px; }
#page-sales .sra-kpi .sra-k-preview .sra-kp-dot { width: 5px; height: 5px; border-radius: 50%; background: #E8943A; }
#page-sales .sra-kpi .sra-k-desc { font-size: 10.5px; color: #8A857D; line-height: 1.45; }
@media (max-width: 1180px) { #page-sales .sra-kpis { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 720px) { #page-sales .sra-kpis { grid-template-columns: repeat(2, 1fr); } }
/* preview panels (mirror the sample .panel; bodies are labelled preview/empty states) */
#page-sales .sra-grid3 { display: grid; grid-template-columns: 1.3fr 1fr; gap: 14px; }
#page-sales .sra-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 920px) { #page-sales .sra-grid3, #page-sales .sra-grid2 { grid-template-columns: 1fr; } }
#page-sales .sra-panel { border-radius: 14px; padding: 18px; background: rgba(255,255,255,0.018); border: 1px solid rgba(255,255,255,0.08); }
#page-sales .sra-panel-h { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
#page-sales .sra-panel-h h3 { font-size: 14px; font-weight: 700; color: #F0EBE2; }
#page-sales .sra-panel-h .sra-hint { font-size: 10.5px; color: #8A857D; }
#page-sales .sra-panel-sub { font-size: 11.5px; color: #8A857D; line-height: 1.5; margin: 5px 0 0; }
/* the honest preview/empty body inside each panel — explicitly labelled "fills when POS connects" */
#page-sales .sra-preview-body { margin-top: 16px; padding: 22px 18px; border-radius: 11px; background: rgba(232,148,58,0.035); border: 1px dashed rgba(232,148,58,0.2); display: flex; flex-direction: column; align-items: center; text-align: center; gap: 9px; }
#page-sales .sra-preview-body .sra-pb-ic { width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; background: rgba(232,148,58,0.1); border: 1px solid rgba(232,148,58,0.22); }
#page-sales .sra-preview-body .sra-pb-ic svg { width: 18px; height: 18px; stroke: #E8943A; }
#page-sales .sra-preview-body .sra-pb-tag { font-size: 9.5px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: #E8943A; }
#page-sales .sra-preview-body .sra-pb-txt { font-size: 12px; color: #C4BFB6; line-height: 1.55; max-width: 360px; }
#page-sales .sra-preview-body .sra-pb-txt b { color: #F0EBE2; font-weight: 700; }
/* skeleton ranked rows — greyed placeholder, explicitly a preview skeleton (never mock names) */
#page-sales .sra-skel-rows { margin-top: 16px; display: flex; flex-direction: column; gap: 9px; }
#page-sales .sra-skel-row { display: flex; align-items: center; gap: 11px; opacity: .55; }
#page-sales .sra-skel-row .sra-sk-rank { width: 22px; height: 22px; border-radius: 7px; flex: none; background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.08); }
#page-sales .sra-skel-row .sra-sk-bar { flex: 1; height: 11px; border-radius: 6px; background: linear-gradient(90deg, rgba(255,255,255,0.08), rgba(255,255,255,0.02)); }
#page-sales .sra-skel-row .sra-sk-bar.w2 { max-width: 78%; }
#page-sales .sra-skel-row .sra-sk-bar.w3 { max-width: 60%; }
#page-sales .sra-skel-row .sra-sk-bar.w4 { max-width: 46%; }
#page-sales .sra-skel-row .sra-sk-bar.w5 { max-width: 34%; }
/* empty heatmap — honest day x hour axes (structural, not data), no fabricated cell counts */
#page-sales .sra-heat { margin-top: 16px; }
#page-sales .sra-heat-grid { display: grid; grid-template-columns: 42px repeat(8, 1fr); gap: 4px; }
#page-sales .sra-heat-grid .sra-hh { font-size: 9.5px; color: #8A857D; text-align: center; padding: 3px 0; }
#page-sales .sra-heat-grid .sra-hd { font-size: 10px; color: #8A857D; display: flex; align-items: center; }
#page-sales .sra-heat-grid .sra-hc { height: 20px; border-radius: 5px; background: rgba(232,148,58,0.05); border: 1px dashed rgba(232,148,58,0.14); }
#page-sales .sra-heat-cap { margin-top: 12px; font-size: 11px; color: #8A857D; line-height: 1.5; display: flex; align-items: center; gap: 8px; }
#page-sales .sra-heat-cap svg { width: 14px; height: 14px; stroke: #E8943A; flex: none; }
#page-sales .sra-heat-cap b { color: #C4BFB6; font-weight: 700; }
/* what-POS-unlocks explainer band */
#page-sales .sra-unlock { margin: 26px 0 8px; padding: 20px 22px; border-radius: 14px; background: linear-gradient(180deg, rgba(91,155,213,0.05), rgba(91,155,213,0.015)); border: 1px solid rgba(91,155,213,0.18); }
#page-sales .sra-unlock-h { display: flex; align-items: center; gap: 11px; margin-bottom: 13px; }
#page-sales .sra-unlock-h .sra-ul-ic { width: 32px; height: 32px; border-radius: 9px; flex: none; display: grid; place-items: center; background: rgba(91,155,213,0.12); border: 1px solid rgba(91,155,213,0.24); }
#page-sales .sra-unlock-h .sra-ul-ic svg { width: 17px; height: 17px; stroke: #5B9BD5; }
#page-sales .sra-unlock-h h3 { font-size: 15px; font-weight: 800; color: #F0EBE2; }
#page-sales .sra-unlock-h .sra-ul-sub { font-size: 11px; color: #8A857D; margin-top: 2px; }
#page-sales .sra-unlock-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px 18px; }
@media (max-width: 720px) { #page-sales .sra-unlock-list { grid-template-columns: 1fr; } }
#page-sales .sra-unlock-item { display: flex; align-items: flex-start; gap: 9px; font-size: 12px; color: #C4BFB6; line-height: 1.5; }
#page-sales .sra-unlock-item .sra-ui-tick { width: 16px; height: 16px; flex: none; margin-top: 1px; }
#page-sales .sra-unlock-item .sra-ui-tick svg { width: 16px; height: 16px; stroke: #4CAF7D; }
#page-sales .sra-unlock-item b { color: #F0EBE2; font-weight: 700; }
#page-sales .sra-unlock-foot { margin-top: 14px; font-size: 11px; color: #8A857D; line-height: 1.5; display: flex; align-items: center; gap: 8px; }
#page-sales .sra-unlock-foot svg { width: 14px; height: 14px; stroke: #5B9BD5; flex: none; }
#page-sales .sra-unlock-foot b { color: #5B9BD5; font-weight: 700; }
#page-sales .sra-footnote { font-size: 10px; color: #8A857D; margin-top: 20px; text-align: center; opacity: .7; line-height: 1.5; }

/* FIX_SALES_PRICING_ELASTICITY_S1_2026_06_20 — scoped spe-* styles for the Pricing & Elasticity
   HONEST-EMPTY shell (renderSalesPricingElasticity). Covers ONLY the pieces Retail Analytics does
   NOT have: the sim-grid two-column layout, the what-if simulator preview (applies-to toggle,
   price-stage, projection tiles), the empty elasticity-curve frame (SVG axes/gridlines/sweet-spot
   outline/legend/readout). Every other layout piece reuses the shipped sra-* token set. NO data is
   plotted; the curve SVG is a structural skeleton only. Literal hex mirrors the Sales region
   palette. ASCII-only comments. */
#page-sales .spe-sim-grid { display: grid; grid-template-columns: 1.5fr 1fr; gap: 16px; margin: 4px 0 6px; align-items: stretch; }
@media (max-width: 1080px) { #page-sales .spe-sim-grid { grid-template-columns: 1fr; } }
#page-sales .spe-curve-panel { display: flex; flex-direction: column; }
#page-sales .spe-modelled { font-size: 9.5px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #8A857D; display: inline-flex; align-items: center; gap: 5px; }
#page-sales .spe-modelled svg { width: 13px; height: 13px; stroke: #8A857D; flex: none; }
/* applies-to toggle preview (static; NOT interactive) */
#page-sales .spe-applies { margin: 14px 0 4px; padding: 14px 16px; border-radius: 13px; background: rgba(255,255,255,0.018); border: 1px solid rgba(255,255,255,0.08); }
#page-sales .spe-applies .spe-ap-l { font-size: 9.5px; letter-spacing: .08em; text-transform: uppercase; color: #8A857D; font-weight: 700; }
#page-sales .spe-applies .spe-ap-l b { color: #C4BFB6; }
#page-sales .spe-ap-seg { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 10px; }
#page-sales .spe-ap-opt { padding: 11px 12px; border-radius: 10px; background: rgba(255,255,255,0.02); border: 1px solid rgba(255,255,255,0.08); opacity: .7; }
#page-sales .spe-ap-opt.on { border-color: rgba(201,168,76,0.3); background: rgba(201,168,76,0.05); opacity: 1; }
#page-sales .spe-ap-opt .spe-ap-t { font-size: 12px; font-weight: 700; color: #F0EBE2; margin-bottom: 4px; }
#page-sales .spe-ap-opt .spe-ap-d { font-size: 10.5px; color: #8A857D; line-height: 1.5; }
#page-sales .spe-ap-foot { margin-top: 10px; font-size: 10.5px; color: #8A857D; line-height: 1.5; display: flex; align-items: center; gap: 8px; }
#page-sales .spe-ap-foot svg { width: 14px; height: 14px; stroke: #5B9BD5; flex: none; }
/* price stage preview (em-dash values) */
#page-sales .spe-price-stage { display: flex; align-items: flex-end; gap: 16px; margin: 16px 0 6px; }
#page-sales .spe-price-stage .spe-pnow { font-size: 10px; color: #8A857D; text-transform: uppercase; letter-spacing: .08em; font-weight: 700; }
#page-sales .spe-price-big { font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 30px; color: #F0EBE2; line-height: 1; margin-top: 4px; }
#page-sales .spe-price-delta { font-size: 11px; color: #8A857D; }
#page-sales .spe-price-delta .spe-pd-pct { font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 18px; color: #8A857D; }
/* projection tiles preview */
#page-sales .spe-proj-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 11px; margin-top: 16px; }
@media (max-width: 720px) { #page-sales .spe-proj-grid { grid-template-columns: repeat(2, 1fr); } }
#page-sales .spe-proj { padding: 12px 13px; border-radius: 11px; background: rgba(255,255,255,0.02); border: 1px dashed rgba(255,255,255,0.1); }
#page-sales .spe-proj .spe-pj-l { font-size: 9.5px; letter-spacing: .04em; text-transform: uppercase; color: #8A857D; font-weight: 700; }
#page-sales .spe-proj .spe-pj-v { font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 20px; color: #5C5750; margin: 6px 0 3px; line-height: 1; }
#page-sales .spe-proj .spe-pj-d { font-size: 9.5px; color: #8A857D; }
#page-sales .spe-sim-foot { margin-top: 14px; font-size: 10.5px; color: #8A857D; line-height: 1.5; display: flex; align-items: center; gap: 8px; }
#page-sales .spe-sim-foot svg { width: 14px; height: 14px; stroke: #8A857D; flex: none; }
#page-sales .spe-sim-foot b { color: #C4BFB6; font-weight: 700; }
/* the empty elasticity-curve frame */
#page-sales .spe-curve-svg { width: 100%; height: 280px; display: block; flex: 1; }
#page-sales .spe-curve-legend { display: flex; gap: 16px; margin-top: 10px; font-size: 10.5px; color: #8A857D; flex-wrap: wrap; }
#page-sales .spe-curve-legend span { display: inline-flex; align-items: center; gap: 6px; }
#page-sales .spe-curve-legend .spe-sw { width: 12px; height: 3px; border-radius: 2px; display: inline-block; }
#page-sales .spe-curve-legend .spe-dotsw { width: 9px; height: 9px; border-radius: 50%; display: inline-block; }
#page-sales .spe-curve-legend b { color: #C4BFB6; font-weight: 600; }
#page-sales .spe-curve-readout { display: flex; margin-top: 14px; border: 1px solid rgba(255,255,255,0.08); border-radius: 12px; overflow: hidden; background: rgba(255,255,255,0.015); }
#page-sales .spe-curve-readout .spe-cr { flex: 1; padding: 11px 13px; border-right: 1px solid rgba(255,255,255,0.08); }
#page-sales .spe-curve-readout .spe-cr:last-child { border-right: none; }
#page-sales .spe-curve-readout .spe-cr-l { font-size: 9px; letter-spacing: .06em; text-transform: uppercase; color: #8A857D; font-weight: 700; margin-bottom: 5px; }
#page-sales .spe-curve-readout .spe-cr-v { font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 16px; color: #5C5750; line-height: 1; }
#page-sales .spe-curve-readout .spe-cr-d { font-size: 9.5px; color: #8A857D; margin-top: 4px; }
/* evidence + scenario preview grids */
#page-sales .spe-ev-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 11px; }
@media (max-width: 720px) { #page-sales .spe-ev-grid { grid-template-columns: 1fr; } }
#page-sales .spe-ev { padding: 14px; border-radius: 12px; background: rgba(255,255,255,0.018); border: 1px solid rgba(255,255,255,0.08); display: flex; gap: 11px; }
#page-sales .spe-ev .spe-ev-ic { width: 32px; height: 32px; border-radius: 9px; flex: none; display: grid; place-items: center; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.1); }
#page-sales .spe-ev .spe-ev-ic svg { width: 16px; height: 16px; stroke: #8A857D; }
#page-sales .spe-ev .spe-ev-t { font-size: 12.5px; font-weight: 700; color: #F0EBE2; }
#page-sales .spe-ev .spe-ev-n { font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 15px; color: #5C5750; margin-left: auto; }
#page-sales .spe-ev .spe-ev-top { display: flex; align-items: baseline; gap: 8px; }
#page-sales .spe-ev .spe-ev-d { font-size: 11px; color: #8A857D; line-height: 1.5; margin-top: 5px; }
#page-sales .spe-ev .spe-ev-src { font-size: 9.5px; color: #8A857D; margin-top: 7px; display: flex; align-items: center; gap: 6px; }
#page-sales .spe-ev .spe-ev-src .spe-wv { width: 6px; height: 6px; border-radius: 50%; background: #E8943A; flex: none; }
/* FIX_SALES_PRICING_ELASTICITY_S2_2026_06_24 — COMPUTED-state styles (engine piece 2). A live KPI
   tile (.spe-kpi-live) gets a gold top-rule + a real .sra-k-val figure (replacing the dashed
   honest-empty preview chip); .spe-k-sub is the small inelastic/elastic classification line; the
   .spe-offerings strip chips one measured SKU each. Literal hex mirrors the Sales palette. */
#page-sales .sra-kpi.spe-kpi-live { border-style: solid; border-color: rgba(201,168,76,0.22); }
#page-sales .sra-kpi.spe-kpi-live::before { background: rgba(201,168,76,0.55); }
#page-sales .sra-kpi .sra-k-val { font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 24px; color: #F0EBE2; line-height: 1; margin: 9px 0 4px; }
#page-sales .sra-kpi .spe-k-sub { font-size: 9.5px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #C9A84C; margin-bottom: 7px; }
#page-sales .spe-offerings { display: flex; gap: 8px; flex-wrap: wrap; margin: 2px 0 14px; }
#page-sales .spe-off-chip { display: inline-flex; align-items: center; gap: 7px; padding: 6px 11px; border-radius: 999px; background: rgba(255,255,255,0.02); border: 1px solid rgba(255,255,255,0.1); font-size: 11px; color: #C4BFB6; }
#page-sales .spe-off-chip.on { border-color: rgba(201,168,76,0.4); background: rgba(201,168,76,0.06); color: #F0EBE2; }
#page-sales .spe-off-chip b { font-weight: 700; }
#page-sales .spe-off-chip i { font-family: 'Montserrat', sans-serif; font-style: normal; font-weight: 800; font-size: 11px; color: #C9A84C; }
#page-sales .spe-prov-foot { margin-top: 14px; font-size: 11px; color: #8A857D; line-height: 1.5; display: flex; align-items: center; gap: 8px; }
#page-sales .spe-prov-foot svg { width: 16px; height: 16px; stroke: #4CAF7D; flex: none; }
#page-sales .spe-prov-foot b { color: #C4BFB6; font-weight: 700; }
#page-sales .spe-scn-grid { display: grid; grid-template-columns: 1fr; gap: 13px; }

/* ════════════════════════════════════════════════════════════════════════════
   FIX_SALES_PIPELINE_S1_2026_06_21 — Sales -> Pipeline (Pipeline Read, canon SS8.8.7) styles,
   scoped under #page-sales. Built TO design_samples/sales/sales_pipeline.html section-by-section.
   Literal hex values mirror the sample's :root tokens (inlining the sample palette preserves the
   sample aesthetic, consistent with the sibling Sales-renderer CSS blocks above). ASCII-only
   comments throughout (a non-ASCII char silently drops the rule from the CSSOM - the L18.8 lesson).
   [SHAPE]: pure presentation; no behaviour. The KPI band reuses the existing .sa-kpis / .sa-kpi /
   __salesKpi infra (NOT duplicated here). ════════════════════════════════════════════════════ */

/* industry-shape banner (sample .shape L245-250) */
#page-sales .sp-shape { display: flex; align-items: center; gap: 11px; background: linear-gradient(120deg, rgba(91,155,213,0.08), rgba(255,255,255,0.015)); border: 1px solid rgba(91,155,213,0.22); border-radius: 13px; padding: 13px 16px; margin-bottom: 18px; }
#page-sales .sp-shape .sp-si { width: 30px; height: 30px; border-radius: 9px; background: rgba(91,155,213,0.14); display: grid; place-items: center; flex: none; }
#page-sales .sp-shape .sp-si svg { width: 16px; height: 16px; stroke: #5B9BD5; }
#page-sales .sp-shape .sp-stext { font-size: 11.5px; color: #C4BFB6; line-height: 1.45; }
#page-sales .sp-shape .sp-stext b { color: #F0EBE2; }
#page-sales .sp-shape .sp-sbadge { margin-left: auto; font-family: 'Montserrat', sans-serif; font-size: 9.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #5B9BD5; border: 1px solid rgba(91,155,213,0.4); border-radius: 999px; padding: 3px 10px; white-space: nowrap; }
/* FIX_DENSITY_SALES_CONVERSIONS_2026_09_16 — trust pill replacing the retired sp-shape/scv-empty-note card */
#page-sales .scv-info-row { margin: 0 0 18px; }
#page-sales .scv-info-pill { display: inline-flex; align-items: center; gap: 7px; font-family: 'Montserrat', sans-serif; font-size: 11px; font-weight: 600; padding: 5px 11px; border-radius: 8px; color: #C9A84C; background: rgba(201,168,76,0.10); border: 1px solid rgba(201,168,76,0.3); }
#page-sales .scv-info-pill svg { width: 14px; height: 14px; stroke: currentColor; }

/* filter bar (sample .filtbar L148-160) */
#page-sales .sp-filtbar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 16px; }
#page-sales .sp-filt-group { display: flex; align-items: center; gap: 6px; background: rgba(255,255,255,0.025); border: 1px solid rgba(255,255,255,0.07); border-radius: 10px; padding: 5px 6px; }
/* FIX_MOBILE_PERCOMPONENT_OVERFLOW_2026_08_02 — phone arm; see the head-of-block at the
   #page-sales .sq-board arm. The parent .sp-filtbar already wraps; this inner chip group
   does not, so the row could not break and the document scrolled to 456 at 375px. The
   base rule sets no flex-wrap at all, so this arm is the only declaration of it. */
@media (max-width: 720px) { #page-sales .sp-filt-group { flex-wrap: wrap; } }
#page-sales .sp-filt-lbl { font-size: 9.5px; letter-spacing: .08em; text-transform: uppercase; color: #8A857D; font-weight: 700; padding: 0 6px; }
#page-sales .sp-chip { font-family: 'Montserrat', sans-serif; font-size: 11px; font-weight: 600; padding: 5px 11px; border-radius: 8px; border: 1px solid rgba(255,255,255,0.07); background: rgba(255,255,255,0.02); color: #C4BFB6; cursor: pointer; transition: .16s cubic-bezier(0.4,0,0.2,1); }
#page-sales .sp-chip:hover { border-color: rgba(255,255,255,0.13); color: #F0EBE2; }
#page-sales .sp-chip.on { background: linear-gradient(180deg, rgba(201,168,76,0.2), rgba(201,168,76,0.06)); border-color: rgba(201,168,76,0.4); color: #F0EBE2; }
#page-sales .sp-filt-spacer { flex: 1; }
#page-sales .sp-toggle { display: flex; align-items: center; gap: 8px; font-size: 11px; color: #8A857D; border: 1px solid rgba(255,255,255,0.07); border-radius: 10px; padding: 6px 12px; cursor: pointer; }
#page-sales .sp-toggle .sp-tk { width: 30px; height: 16px; border-radius: 999px; background: rgba(255,255,255,0.08); position: relative; transition: .18s; }
#page-sales .sp-toggle .sp-tk::after { content: ""; position: absolute; left: 2px; top: 2px; width: 12px; height: 12px; border-radius: 50%; background: #8A857D; transition: .18s; }
#page-sales .sp-toggle.on .sp-tk { background: rgba(201,168,76,0.4); }
#page-sales .sp-toggle.on .sp-tk::after { left: 16px; background: #C9A84C; }
#page-sales .sp-toggle.on { color: #F0EBE2; }

/* kanban board (sample .board / .col / .col-h L162-200) */
#page-sales .sp-board { display: grid; grid-template-columns: repeat(4, 1fr); gap: 13px; margin-bottom: 18px; align-items: start; }
@media (max-width: 1180px) { #page-sales .sp-board { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 720px) { #page-sales .sp-board { grid-template-columns: 1fr; } }
#page-sales .sp-col { background: linear-gradient(170deg, #211e1c, #1b1816); border: 1px solid rgba(255,255,255,0.07); border-radius: 14px; padding: 12px 11px 14px; min-height: 220px; box-shadow: inset 0 1px 0 rgba(255,255,255,0.05); display: flex; flex-direction: column; gap: 9px; transition: .16s cubic-bezier(0.4,0,0.2,1); }
#page-sales .sp-col.sp-drop { border-color: rgba(201,168,76,0.5); background: linear-gradient(170deg, #2a2520, #211d19); }
#page-sales .sp-col-h { display: flex; align-items: center; justify-content: space-between; padding: 2px 3px 9px; border-bottom: 1px solid rgba(255,255,255,0.07); }
#page-sales .sp-col-h .sp-cn { display: flex; align-items: center; gap: 8px; font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 12px; color: #F0EBE2; }
#page-sales .sp-col-h .sp-cn i { width: 9px; height: 9px; border-radius: 3px; display: inline-block; }
#page-sales .sp-col-h .sp-cmeta { font-size: 10px; color: #8A857D; font-family: 'Montserrat', sans-serif; text-align: right; }
#page-sales .sp-col-h .sp-cmeta b { display: block; color: #C4BFB6; font-weight: 700; font-size: 11.5px; }
#page-sales .sp-col-stage-prospect i { background: #5B9BD5; }
#page-sales .sp-col-stage-qualified i { background: #C9A84C; }
#page-sales .sp-col-stage-negotiating i { background: #E8943A; }
#page-sales .sp-col-stage-closed i { background: #4CAF7D; }

/* deal card (sample .deal L179-200) */
#page-sales .sp-deal { background: rgba(255,255,255,0.025); border: 1px solid rgba(255,255,255,0.07); border-radius: 11px; padding: 11px 12px; cursor: grab; position: relative; overflow: hidden; transition: .16s cubic-bezier(0.4,0,0.2,1); }
#page-sales .sp-deal::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; border-radius: 11px 0 0 11px; background: var(--sp-lvl, #C9A84C); }
#page-sales .sp-deal:hover { background: rgba(255,255,255,0.05); border-color: rgba(255,255,255,0.13); transform: translateY(-2px); }
#page-sales .sp-deal.sp-dragging { opacity: .55; }
#page-sales .sp-deal.sp-stalled { border-color: rgba(232,148,58,0.4); background: linear-gradient(108deg, rgba(232,148,58,0.10), rgba(255,255,255,0.02) 50%); }
#page-sales .sp-deal.sp-conc { box-shadow: 0 0 0 1px rgba(224,85,85,0.3), 0 0 18px -8px rgba(224,85,85,0.5); }
#page-sales .sp-deal-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
#page-sales .sp-deal-name { font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 12px; color: #F0EBE2; line-height: 1.25; }
#page-sales .sp-deal-amt { font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 12.5px; color: #C9A84C; white-space: nowrap; }
#page-sales .sp-deal-kind { font-size: 11px; color: #8A857D; margin-top: 3px; line-height: 1.35; }
#page-sales .sp-deal-foot { display: flex; align-items: center; gap: 8px; margin-top: 9px; flex-wrap: wrap; }
#page-sales .sp-deal-tag { font-size: 9px; font-family: 'Montserrat', sans-serif; font-weight: 700; letter-spacing: .03em; padding: 2px 7px; border-radius: 999px; display: inline-flex; align-items: center; gap: 4px; }
#page-sales .sp-deal-tag.sp-age { color: #8A857D; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.07); }
/* FIX_SALES_STALL_CLOCK_2026_08_06 — the honest-unknown clock tag. Same selector SHAPE and the same
   (1,2,0) specificity as its four siblings above/below, inside the same #page-sales ID host, so it
   composes with them rather than losing the cascade to them. Muted like .sp-age (an absence is not an
   alarm) but DASHED, so "not recorded" is visually distinguishable from a recorded value at a glance
   and is never mistaken for a measured zero. */
#page-sales .sp-deal-tag.sp-noclock { color: #8A857D; background: rgba(255,255,255,0.02); border: 1px dashed rgba(255,255,255,0.14); }
#page-sales .sp-deal-tag.sp-stall { color: #E8943A; background: rgba(232,148,58,0.14); border: 1px solid rgba(232,148,58,0.32); }
#page-sales .sp-deal-tag.sp-tconc { color: #E05555; background: rgba(224,85,85,0.14); border: 1px solid rgba(224,85,85,0.32); }
#page-sales .sp-deal-tag.sp-rep { color: #5B9BD5; background: rgba(91,155,213,0.12); border: 1px solid rgba(91,155,213,0.28); }
#page-sales .sp-deal-next { font-size: 10.5px; color: #C4BFB6; margin-top: 8px; padding-top: 8px; border-top: 1px solid rgba(255,255,255,0.07); display: flex; align-items: center; gap: 6px; }
#page-sales .sp-deal-next svg { width: 12px; height: 12px; stroke: #C9A84C; opacity: .8; flex: none; }
#page-sales .sp-col-empty { font-size: 11px; color: #8A857D; text-align: center; padding: 22px 8px; border: 1px dashed rgba(255,255,255,0.07); border-radius: 10px; opacity: .65; }
#page-sales .sp-board-tip { display: flex; align-items: center; gap: 8px; font-size: 10.5px; color: #8A857D; line-height: 1.4; margin: -4px 0 18px; }
#page-sales .sp-board-tip svg { width: 13px; height: 13px; stroke: #C9A84C; flex: none; }

/* lower row: forecast + collapse-risk (sample .lower / .panel / .fbar / .fc-total / .risk L202-242) */
#page-sales .sp-lower { display: grid; grid-template-columns: 1.5fr 1fr; gap: 18px; }
@media (max-width: 1180px) { #page-sales .sp-lower { grid-template-columns: 1fr; } }
#page-sales .sp-panel { background: linear-gradient(170deg, #252220, #1e1b19); border: 1px solid rgba(255,255,255,0.07); border-radius: 16px; padding: 18px 20px; box-shadow: 0 22px 50px -36px #000, inset 0 1px 0 rgba(255,255,255,0.05); }
#page-sales .sp-panel-h { display: flex; align-items: center; justify-content: space-between; margin-bottom: 3px; }
#page-sales .sp-panel-h h3 { font-family: 'Montserrat', sans-serif; font-size: 14px; letter-spacing: .4px; color: #F0EBE2; font-weight: 700; margin: 0; }
#page-sales .sp-panel-h .sp-hint { font-size: 11px; color: #8A857D; }
#page-sales .sp-panel-sub { font-size: 11.5px; color: #8A857D; margin: 2px 0 14px; line-height: 1.45; }
#page-sales .sp-fbar { display: flex; align-items: center; gap: 12px; font-size: 12px; margin-bottom: 11px; }
#page-sales .sp-fbar .sp-fb-l { width: 128px; color: #C4BFB6; flex: none; display: flex; align-items: center; gap: 7px; }
#page-sales .sp-fbar .sp-fb-l i { width: 8px; height: 8px; border-radius: 2px; }
#page-sales .sp-fbar .sp-fb-track { flex: 1; height: 11px; border-radius: 6px; background: rgba(255,255,255,0.06); overflow: hidden; }
#page-sales .sp-fbar .sp-fb-track b { display: block; height: 100%; border-radius: 6px; width: 0; transition: width .9s cubic-bezier(0.4,0,0.2,1); }
#page-sales .sp-fbar .sp-fb-v { width: 62px; text-align: right; font-family: 'Montserrat', sans-serif; font-weight: 700; color: #F0EBE2; font-size: 12px; }
#page-sales .sp-fc-total { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 14px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,0.07); }
#page-sales .sp-fc-total .sp-fct-l { font-size: 11.5px; color: #8A857D; max-width: 60%; line-height: 1.45; }
#page-sales .sp-fc-total .sp-fct-l b { color: #C4BFB6; }
#page-sales .sp-fc-total .sp-fct-v { text-align: right; }
#page-sales .sp-fc-total .sp-fct-v .sp-v { font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 24px; color: #F0EBE2; display: block; line-height: 1; }
#page-sales .sp-fc-total .sp-fct-v small { font-size: 10px; color: #8A857D; }
#page-sales .sp-fc-note { margin-top: 13px; font-size: 10.5px; color: #8A857D; display: flex; align-items: center; gap: 7px; line-height: 1.4; }
#page-sales .sp-fc-note svg { width: 13px; height: 13px; stroke: #C9A84C; flex: none; }
#page-sales .sp-fc-note b { color: #C4BFB6; }
#page-sales .sp-risk-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 11px; }
#page-sales .sp-risk-head h3 { font-family: 'Montserrat', sans-serif; font-size: 14px; letter-spacing: .4px; color: #F0EBE2; font-weight: 700; margin: 0; display: flex; align-items: center; gap: 9px; }
#page-sales .sp-risk-head h3 .sp-glyph { width: 24px; height: 24px; border-radius: 8px; background: linear-gradient(150deg, rgba(224,85,85,0.24), rgba(232,148,58,0.12)); display: grid; place-items: center; }
#page-sales .sp-risk-head h3 .sp-glyph svg { width: 14px; height: 14px; stroke: #E05555; }
#page-sales .sp-risk-head .sp-rcount { font-size: 10.5px; font-weight: 700; color: #F0EBE2; background: rgba(224,85,85,0.16); border: 1px solid rgba(224,85,85,0.36); border-radius: 999px; padding: 3px 11px; font-family: 'Montserrat', sans-serif; }
#page-sales .sp-risk { display: flex; flex-direction: column; gap: 9px; }
#page-sales .sp-risk-item { display: flex; align-items: center; gap: 11px; padding: 11px 12px; border-radius: 11px; background: rgba(255,255,255,0.02); border: 1px solid rgba(255,255,255,0.07); position: relative; overflow: hidden; }
#page-sales .sp-risk-item::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--sp-lvl, #E8943A); }
#page-sales .sp-risk-item.sp-crit { --sp-lvl: #E05555; border-color: rgba(224,85,85,0.34); background: linear-gradient(108deg, rgba(224,85,85,0.1), rgba(255,255,255,0.02) 50%); }
#page-sales .sp-risk-body { flex: 1; min-width: 0; }
#page-sales .sp-risk-body .sp-rt { font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 12px; color: #F0EBE2; }
#page-sales .sp-risk-body .sp-rd { font-size: 11px; color: #8A857D; margin-top: 3px; line-height: 1.4; }
#page-sales .sp-risk-body .sp-rd b { color: #C4BFB6; }
#page-sales .sp-risk-amt { font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 12.5px; color: #E05555; white-space: nowrap; }
#page-sales .sp-risk-empty { font-size: 11.5px; color: #8A857D; padding: 14px 4px; line-height: 1.5; }
#page-sales .sp-footnote { font-size: 10px; color: #8A857D; margin-top: 18px; text-align: center; opacity: .7; line-height: 1.5; }

/* FIX_SALES_PIPELINE_S1_2026_06_22 — KPI-band fidelity (4 fixes; Pipeline-scoped only, the shared
   .sa-kpis / .sa-kpi / .sa-k-* rules are NOT touched). Built TO design_samples/sales/sales_pipeline.html.
   FIX 1: 5-column band (sample L126 .kpis repeat(5,1fr)) - shared .sa-kpis is repeat(6).
   FIX 2: per-tile accent rails (sample L135-139) - the sp-k-* klasses have no shared ::before colour
          rule, so they fall to the default gold; restore the sample's 5 distinct colours.
   FIX 4: drop the inert expand-chevron + hover hint (sample KPI tiles have neither; Pipeline does not
          wire the peek/modal this slice per brief §3c). Mirror of the .so-kpis scoped-override pattern. */
#page-sales .sp-kpis { grid-template-columns: repeat(5, 1fr); }
#page-sales .sp-kpis .sa-kpi.sp-k-open::before { background: #C9A84C; }
#page-sales .sp-kpis .sa-kpi.sp-k-value::before { background: #4CAF7D; }
#page-sales .sp-kpis .sa-kpi.sp-k-stalled::before { background: #E8943A; }
#page-sales .sp-kpis .sa-kpi.sp-k-conc::before { background: #E05555; }
#page-sales .sp-kpis .sa-kpi.sp-k-velocity::before { background: #5B9BD5; }
#page-sales .sp-kpis .sa-kpi .sa-expand,
#page-sales .sp-kpis .sa-kpi .sa-hint-i { display: none; }

/* ════════════════════════════════════════════════════════════════════════════
   FIX_SALES_FORECAST_S1_2026_06_22 — Sales -> Forecast (Sales Forecasting & Pipeline
   Synthesis, canon SS8.8 Sub-function 2, descriptive Phase 2) styles, scoped under
   #page-sales. Built TO design_samples/sales/sales_forecast.html section-by-section.
   Literal hex values mirror the sample's :root tokens (inlining the sample palette
   preserves the sample aesthetic, consistent with the sibling Sales-renderer CSS blocks
   above). ASCII-only comments throughout (a non-ASCII char silently drops the rule from
   the CSSOM - the L18.8 lesson). [SHAPE]: pure presentation; no behaviour. The KPI band
   reuses the existing .sa-kpis / .sa-kpi / __salesKpi infra (NOT duplicated; sf-kpis is a
   5-col + per-tile-accent + drop-chevron scoped override, mirror of the .sp-kpis pattern). */

/* method banner: deterministic, NOT prediction (sample .method L126-131) */
#page-sales .sf-method { display: flex; align-items: center; gap: 11px; background: linear-gradient(120deg, rgba(139,111,214,0.08), rgba(255,255,255,0.015)); border: 1px solid rgba(139,111,214,0.22); border-radius: 13px; padding: 13px 16px; margin-bottom: 18px; }
#page-sales .sf-method .sf-mi { width: 30px; height: 30px; border-radius: 9px; background: rgba(139,111,214,0.14); display: grid; place-items: center; flex: none; }
#page-sales .sf-method .sf-mi svg { width: 16px; height: 16px; stroke: #8B6FD6; }
#page-sales .sf-method .sf-mtext { font-size: 11.5px; color: #C4BFB6; line-height: 1.45; }
#page-sales .sf-method .sf-mtext b { color: #F0EBE2; }
#page-sales .sf-method .sf-mbadge { margin-left: auto; font-family: 'Montserrat', sans-serif; font-size: 9.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #8B6FD6; border: 1px solid rgba(139,111,214,0.4); border-radius: 999px; padding: 3px 10px; white-space: nowrap; }

/* KPI band: 5-col + per-tile accent + drop the inert chevron/hover-hint (sample .kpis L133-154;
   mirror of the .sp-kpis fidelity override - the shared .sa-kpis is repeat(6)). */
#page-sales .sf-kpis { grid-template-columns: repeat(5, 1fr); }
#page-sales .sf-kpis .sa-kpi.sf-k-proj::before { background: #C9A84C; }
#page-sales .sf-kpis .sa-kpi.sf-k-recur::before { background: #4CAF7D; }
#page-sales .sf-kpis .sa-kpi.sf-k-deals::before { background: #E8943A; }
#page-sales .sf-kpis .sa-kpi.sf-k-goal::before { background: #5B9BD5; }
#page-sales .sf-kpis .sa-kpi.sf-k-conf::before { background: #8B6FD6; }
#page-sales .sf-kpis .sa-kpi .sa-expand,
#page-sales .sf-kpis .sa-kpi .sa-hint-i { display: none; }

/* top grid: projection chart (1.6fr) + scenario band (1fr) (sample .grid-top L157) */
#page-sales .sf-grid-top { display: grid; grid-template-columns: 1.6fr 1fr; gap: 18px; margin-bottom: 18px; }
@media (max-width: 1180px) { #page-sales .sf-grid-top { grid-template-columns: 1fr; } }
#page-sales .sf-panel { background: linear-gradient(170deg, #252220, #1e1b19); border: 1px solid rgba(255,255,255,0.07); border-radius: 16px; padding: 18px 20px; box-shadow: 0 22px 50px -36px #000, inset 0 1px 0 rgba(255,255,255,0.05); }
#page-sales .sf-panel-h { display: flex; align-items: center; justify-content: space-between; margin-bottom: 3px; }
#page-sales .sf-panel-h h3 { font-family: 'Montserrat', sans-serif; font-size: 14px; letter-spacing: .4px; color: #F0EBE2; font-weight: 700; margin: 0; }
#page-sales .sf-panel-h .sf-hint { font-size: 11px; color: #8A857D; }
#page-sales .sf-panel-sub { font-size: 11.5px; color: #8A857D; margin: 2px 0 14px; line-height: 1.45; }
#page-sales .sf-panel-sub b { color: #C4BFB6; }

/* horizon toggle (sample .horiz L169-172) */
#page-sales .sf-horiz { display: flex; align-items: center; gap: 6px; }
#page-sales .sf-horiz .sf-hb { font-family: 'Montserrat', sans-serif; font-size: 10.5px; font-weight: 600; padding: 4px 10px; border-radius: 8px; border: 1px solid rgba(255,255,255,0.07); background: rgba(255,255,255,0.02); color: #C4BFB6; cursor: pointer; transition: .16s cubic-bezier(0.4,0,0.2,1); }
#page-sales .sf-horiz .sf-hb:hover { border-color: rgba(255,255,255,0.13); color: #F0EBE2; }
#page-sales .sf-horiz .sf-hb.on { background: linear-gradient(180deg, rgba(201,168,76,0.2), rgba(201,168,76,0.06)); border-color: rgba(201,168,76,0.4); color: #F0EBE2; }

/* projection chart svg + legend (sample #projSvg / .proj-legend L174-179) */
#page-sales .sf-projsvg { width: 100%; height: 262px; display: block; }
#page-sales .sf-proj-legend { display: flex; gap: 18px; margin-top: 10px; font-size: 10.5px; color: #8A857D; flex-wrap: wrap; }
#page-sales .sf-proj-legend span { display: inline-flex; align-items: center; gap: 6px; }
#page-sales .sf-proj-legend .sf-sw { width: 14px; height: 10px; border-radius: 3px; display: inline-block; }
#page-sales .sf-proj-legend .sf-sw.sf-line { height: 0; border-top: 2px dashed #8A857D; width: 16px; border-radius: 0; }
#page-sales .sf-proj-legend b { color: #C4BFB6; font-weight: 600; }

/* scenario band best/likely/worst (sample .scen / .scen-row L182-195) */
#page-sales .sf-scen { display: flex; flex-direction: column; gap: 10px; }
#page-sales .sf-scen-row { display: flex; align-items: center; gap: 12px; padding: 12px 13px; border-radius: 12px; background: rgba(255,255,255,0.02); border: 1px solid rgba(255,255,255,0.07); position: relative; overflow: hidden; }
#page-sales .sf-scen-row::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--sf-lvl, #C9A84C); }
#page-sales .sf-scen-row.sf-likely { border-color: rgba(201,168,76,0.34); background: linear-gradient(108deg, rgba(201,168,76,0.1), rgba(255,255,255,0.02) 50%); }
#page-sales .sf-scen-row .sf-sc-l { flex: 1; min-width: 0; }
#page-sales .sf-scen-row .sf-sct { font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 12.5px; color: #F0EBE2; display: flex; align-items: center; gap: 8px; }
#page-sales .sf-scen-row .sf-sct .sf-tag { font-size: 8.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; padding: 2px 7px; border-radius: 999px; }
#page-sales .sf-scen-row .sf-scd { font-size: 11px; color: #8A857D; margin-top: 3px; line-height: 1.4; }
#page-sales .sf-scen-row .sf-sc-v { text-align: right; }
#page-sales .sf-scen-row .sf-sc-v .sf-v { font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 18px; color: #F0EBE2; display: block; line-height: 1; }
#page-sales .sf-scen-row .sf-sc-v small { font-size: 9.5px; color: #8A857D; }
#page-sales .sf-scen-row.sf-best .sf-tag { color: #4CAF7D; background: rgba(76,175,125,0.14); border: 1px solid rgba(76,175,125,0.3); }
#page-sales .sf-scen-row.sf-likely .sf-tag { color: #C9A84C; background: rgba(201,168,76,0.14); border: 1px solid rgba(201,168,76,0.32); }
#page-sales .sf-scen-row.sf-worst .sf-tag { color: #E8943A; background: rgba(232,148,58,0.14); border: 1px solid rgba(232,148,58,0.3); }

/* leg breakdown: recurring + deals (sample .grid-legs / .lbar / .leg-total / .leg-note L198-212) */
#page-sales .sf-grid-legs { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-bottom: 18px; }
@media (max-width: 1180px) { #page-sales .sf-grid-legs { grid-template-columns: 1fr; } }
#page-sales .sf-lbar { display: flex; align-items: center; gap: 12px; font-size: 12px; margin-bottom: 11px; }
#page-sales .sf-lbar .sf-lb-l { width: 150px; color: #C4BFB6; flex: none; display: flex; align-items: center; gap: 7px; }
#page-sales .sf-lbar .sf-lb-l i { width: 8px; height: 8px; border-radius: 2px; }
#page-sales .sf-lbar .sf-lb-track { flex: 1; height: 11px; border-radius: 6px; background: rgba(255,255,255,0.06); overflow: hidden; }
#page-sales .sf-lbar .sf-lb-track b { display: block; height: 100%; border-radius: 6px; }
#page-sales .sf-lbar .sf-lb-v { width: 62px; text-align: right; font-family: 'Montserrat', sans-serif; font-weight: 700; color: #F0EBE2; font-size: 12px; }
#page-sales .sf-leg-total { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 14px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,0.07); }
#page-sales .sf-leg-total .sf-lt-l { font-size: 11.5px; color: #8A857D; max-width: 58%; line-height: 1.45; }
#page-sales .sf-leg-total .sf-lt-l b { color: #C4BFB6; }
#page-sales .sf-leg-total .sf-lt-v { text-align: right; }
#page-sales .sf-leg-total .sf-lt-v .sf-v { font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 22px; color: #F0EBE2; display: block; line-height: 1; }
#page-sales .sf-leg-total .sf-lt-v small { font-size: 10px; color: #8A857D; }
#page-sales .sf-leg-note { margin-top: 13px; font-size: 10.5px; color: #8A857D; display: flex; align-items: flex-start; gap: 7px; line-height: 1.4; }
#page-sales .sf-leg-note svg { width: 13px; height: 13px; stroke: #C9A84C; flex: none; margin-top: 1px; }
#page-sales .sf-leg-note b { color: #C4BFB6; }

/* deals-to-close table (the deals leg, deal-by-deal expected timing) (sample .dtab / .dtrow L215-224) */
#page-sales .sf-dtab { display: flex; flex-direction: column; gap: 8px; }
#page-sales .sf-dtrow { display: flex; align-items: center; gap: 11px; padding: 10px 12px; border-radius: 11px; background: rgba(255,255,255,0.02); border: 1px solid rgba(255,255,255,0.07); position: relative; overflow: hidden; }
#page-sales .sf-dtrow::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--sf-lvl, #C9A84C); }
#page-sales .sf-dtrow .sf-dt-b { flex: 1; min-width: 0; }
#page-sales .sf-dtrow .sf-dt-b .sf-dtn { font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 12px; color: #F0EBE2; }
#page-sales .sf-dtrow .sf-dt-b .sf-dtm { font-size: 10.5px; color: #8A857D; margin-top: 2px; }
#page-sales .sf-dtrow .sf-dt-b .sf-dtm b { color: #C4BFB6; }
#page-sales .sf-dtrow .sf-dt-w { text-align: right; flex: none; }
#page-sales .sf-dtrow .sf-dt-w .sf-dtv { font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 12.5px; color: #F0EBE2; }
#page-sales .sf-dtrow .sf-dt-w .sf-dtraw { font-size: 9.5px; color: #8A857D; }
#page-sales .sf-dt-empty { font-size: 11.5px; color: #8A857D; padding: 14px 4px; line-height: 1.5; }

/* assumptions / inputs panel (sample .assume / .arow L227-233) */
#page-sales .sf-assume { display: flex; flex-direction: column; gap: 9px; }
#page-sales .sf-arow { display: flex; align-items: baseline; justify-content: space-between; padding: 9px 0; border-bottom: 1px solid rgba(255,255,255,0.07); font-size: 12px; gap: 14px; }
#page-sales .sf-arow:last-child { border-bottom: none; }
#page-sales .sf-arow .sf-a-l { color: #C4BFB6; }
#page-sales .sf-arow .sf-a-l small { display: block; color: #8A857D; font-size: 10px; margin-top: 2px; line-height: 1.35; }
#page-sales .sf-arow .sf-a-v { font-family: 'Montserrat', sans-serif; font-weight: 700; color: #F0EBE2; font-size: 12.5px; text-align: right; white-space: nowrap; }
#page-sales .sf-arow .sf-a-v .sf-src { display: block; font-size: 9px; color: #8A857D; font-weight: 600; letter-spacing: .03em; margin-top: 2px; }

/* deferred predictive note (sample .defer L236-241) */
#page-sales .sf-defer { display: flex; align-items: center; gap: 11px; background: linear-gradient(120deg, rgba(91,155,213,0.07), rgba(255,255,255,0.012)); border: 1px solid rgba(91,155,213,0.2); border-radius: 13px; padding: 13px 16px; margin-bottom: 18px; }
#page-sales .sf-defer .sf-di { width: 28px; height: 28px; border-radius: 9px; background: rgba(91,155,213,0.13); display: grid; place-items: center; flex: none; }
#page-sales .sf-defer .sf-di svg { width: 15px; height: 15px; stroke: #5B9BD5; }
#page-sales .sf-defer .sf-dtext { font-size: 11px; color: #C4BFB6; line-height: 1.45; }
#page-sales .sf-defer .sf-dtext b { color: #F0EBE2; }
#page-sales .sf-defer .sf-dbadge { margin-left: auto; font-family: 'Montserrat', sans-serif; font-size: 9px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #5B9BD5; border: 1px solid rgba(91,155,213,0.36); border-radius: 999px; padding: 3px 9px; white-space: nowrap; }

#page-sales .sf-footnote { font-size: 10px; color: #8A857D; margin-top: 18px; text-align: center; opacity: .7; line-height: 1.5; }
@media (prefers-reduced-motion: reduce) { #page-sales .sf-lbar .sf-lb-track b { transition: none !important; } }

/* ════════════════════════════════════════════════════════════════════════════
   FIX_SALES_CONVERSIONS_S1_2026_06_22 — Sales -> Conversions (Pipeline Read conversion lens,
   canon SS8.8.7 pipeline-stage-conversion-rates / conversion-rate movement) styles, scoped
   under #page-sales. Built TO design_samples/sales/sales_conversions.html section-by-section.
   Literal hex values mirror the sample's :root tokens (inlining the sample palette preserves the
   sample aesthetic, consistent with the sibling Sales-renderer CSS blocks above). ASCII-only
   comments throughout (a non-ASCII char silently drops the rule from the CSSOM - the L18.8 lesson).
   [SHAPE]: pure presentation; no behaviour. The KPI band reuses the existing .sa-kpis / .sa-kpi /
   __salesKpi infra (scv-kpis is a 5-col + per-tile-accent + drop-chevron scoped override, mirror
   of the .sp-kpis / .sf-kpis pattern). The industry-shape banner reuses the existing .sp-shape
   classes (NOT duplicated). ════════════════════════════════════════════════════════════════════ */

/* KPI band: 5-col + per-tile accent + drop the inert chevron/hover-hint (sample .kpis L133-154;
   mirror of the .sp-kpis / .sf-kpis fidelity override - the shared .sa-kpis is repeat(6)). */
#page-sales .scv-kpis { grid-template-columns: repeat(5, 1fr); }
#page-sales .scv-kpis .sa-kpi.scv-k-winrate::before { background: #4CAF7D; }
#page-sales .scv-kpis .sa-kpi.scv-k-overall::before { background: #C9A84C; }
#page-sales .scv-kpis .sa-kpi.scv-k-won::before { background: #4CAF7D; }
#page-sales .scv-kpis .sa-kpi.scv-k-lost::before { background: #E05555; }
#page-sales .scv-kpis .sa-kpi.scv-k-cycle::before { background: #5B9BD5; }
#page-sales .scv-kpis .sa-kpi .sa-expand,
#page-sales .scv-kpis .sa-kpi .sa-hint-i { display: none; }
#page-sales .scv-kpis .sa-kpi.scv-is-empty .sa-val { color: #8A857D; font-weight: 700; }

/* filter bar (sample .filtbar L156-168) - mirror the sp-filtbar primitives, scv-prefixed. */
#page-sales .scv-filtbar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 16px; }
#page-sales .scv-filt-group { display: flex; align-items: center; gap: 6px; background: rgba(255,255,255,0.025); border: 1px solid rgba(255,255,255,0.07); border-radius: 10px; padding: 5px 6px; }
#page-sales .scv-filt-lbl { font-size: 9.5px; letter-spacing: .08em; text-transform: uppercase; color: #8A857D; font-weight: 700; padding: 0 6px; }
#page-sales .scv-chip { font-family: 'Montserrat', sans-serif; font-size: 11px; font-weight: 600; padding: 5px 11px; border-radius: 8px; border: 1px solid rgba(255,255,255,0.07); background: rgba(255,255,255,0.02); color: #C4BFB6; cursor: pointer; transition: .16s cubic-bezier(0.4,0,0.2,1); }
#page-sales .scv-chip:hover { border-color: rgba(255,255,255,0.13); color: #F0EBE2; }
#page-sales .scv-chip.on { background: linear-gradient(180deg, rgba(201,168,76,0.2), rgba(201,168,76,0.06)); border-color: rgba(201,168,76,0.4); color: #F0EBE2; }
#page-sales .scv-filt-spacer { flex: 1; }
#page-sales .scv-toggle { display: flex; align-items: center; gap: 8px; font-size: 11px; color: #8A857D; border: 1px solid rgba(255,255,255,0.07); border-radius: 10px; padding: 6px 12px; cursor: pointer; }
#page-sales .scv-toggle .scv-tk { width: 30px; height: 16px; border-radius: 999px; background: rgba(255,255,255,0.08); position: relative; transition: .18s; }
#page-sales .scv-toggle .scv-tk::after { content: ""; position: absolute; left: 2px; top: 2px; width: 12px; height: 12px; border-radius: 50%; background: #8A857D; transition: .18s; }
#page-sales .scv-toggle.on .scv-tk { background: rgba(201,168,76,0.4); }
#page-sales .scv-toggle.on .scv-tk::after { left: 16px; background: #C9A84C; }
#page-sales .scv-toggle.on { color: #F0EBE2; }

/* shared panel (sample .panel L170-179) - scv-prefixed mirror of sp-panel/sf-panel. */
#page-sales .scv-panel { background: linear-gradient(170deg, #252220, #1e1b19); border: 1px solid rgba(255,255,255,0.07); border-radius: 16px; padding: 18px 20px; box-shadow: 0 22px 50px -36px #000, inset 0 1px 0 rgba(255,255,255,0.05); }
#page-sales .scv-panel-h { display: flex; align-items: center; justify-content: space-between; margin-bottom: 3px; }
#page-sales .scv-panel-h h3 { font-family: 'Montserrat', sans-serif; font-size: 14px; letter-spacing: .4px; color: #F0EBE2; font-weight: 700; margin: 0; }
#page-sales .scv-panel-h .scv-hint { font-size: 11px; color: #8A857D; }
#page-sales .scv-panel-sub { font-size: 11.5px; color: #8A857D; margin: 2px 0 14px; line-height: 1.45; }
#page-sales .scv-panel-sub b { color: #C4BFB6; }

/* funnel + won/lost split row (sample .funnel-row L182) */
#page-sales .scv-funnel-row { display: grid; grid-template-columns: 1.55fr 1fr; gap: 18px; margin-bottom: 18px; align-items: start; }
@media (max-width: 1180px) { #page-sales .scv-funnel-row { grid-template-columns: 1fr; } }

/* stepped conversion funnel (sample .funnel / .fn-* L185-206) */
#page-sales .scv-funnel { display: flex; flex-direction: column; gap: 0; margin-top: 4px; }
#page-sales .scv-fn-stage { position: relative; }
#page-sales .scv-fn-bar-wrap { display: flex; align-items: center; gap: 12px; padding: 9px 0; }
#page-sales .scv-fn-bar-lbl { width: 128px; flex: none; display: flex; align-items: center; gap: 8px; font-size: 12px; color: #C4BFB6; }
#page-sales .scv-fn-bar-lbl i { width: 9px; height: 9px; border-radius: 3px; flex: none; }
#page-sales .scv-fn-bar-lbl b { color: #F0EBE2; font-weight: 600; }
#page-sales .scv-fn-bar-track { flex: 1; height: 30px; border-radius: 8px; background: rgba(255,255,255,0.04); overflow: hidden; position: relative; }
#page-sales .scv-fn-bar-track b { display: flex; align-items: center; height: 100%; border-radius: 8px; padding: 0 12px; font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 12px; color: #161310; justify-content: flex-end; min-width: 42px; }
#page-sales .scv-fn-bar-cnt { width: 118px; flex: none; text-align: right; font-size: 11px; color: #8A857D; }
#page-sales .scv-fn-bar-cnt b { color: #C4BFB6; font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 12.5px; display: block; }
#page-sales .scv-fn-drop { display: flex; align-items: center; gap: 8px; padding: 2px 0 2px 140px; font-size: 10.5px; color: #8A857D; }
#page-sales .scv-fn-drop .scv-fn-conv { font-family: 'Montserrat', sans-serif; font-weight: 700; color: #4CAF7D; }
#page-sales .scv-fn-drop .scv-fn-fall { color: #E05555; font-weight: 600; }
#page-sales .scv-fn-drop svg { width: 13px; height: 13px; stroke: #8A857D; flex: none; }
#page-sales .scv-stg-prospect b { background: linear-gradient(90deg, #5B9BD5, #8fc0ec); }
#page-sales .scv-stg-qualified b { background: linear-gradient(90deg, #C9A84C, #e0c878); }
#page-sales .scv-stg-negotiating b { background: linear-gradient(90deg, #E8943A, #f2b06a); }
#page-sales .scv-stg-closed b { background: linear-gradient(90deg, #4CAF7D, #6fd0a0); }
#page-sales .scv-fn-foot { margin-top: 14px; padding-top: 13px; border-top: 1px solid rgba(255,255,255,0.07); font-size: 10.5px; color: #8A857D; display: flex; align-items: center; gap: 8px; line-height: 1.45; }
#page-sales .scv-fn-foot svg { width: 13px; height: 13px; stroke: #C9A84C; flex: none; }
#page-sales .scv-fn-foot b { color: #C4BFB6; }

/* won/lost donut + tallies (sample .wl-* L209-223) */
#page-sales .scv-wl-donut-wrap { display: flex; align-items: center; gap: 20px; margin: 6px 0 4px; }
#page-sales .scv-wl-donut { position: relative; width: 128px; height: 128px; flex: none; }
#page-sales .scv-wl-donut svg { transform: rotate(-90deg); width: 128px; height: 128px; }
#page-sales .scv-wl-donut .scv-wl-center { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; }
#page-sales .scv-wl-donut .scv-wl-center .scv-wl-pct { font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 26px; color: #F0EBE2; line-height: 1; }
#page-sales .scv-wl-donut .scv-wl-center .scv-wl-cl { font-size: 9px; letter-spacing: .14em; text-transform: uppercase; color: #8A857D; font-weight: 700; margin-top: 4px; }
#page-sales .scv-wl-legend { flex: 1; display: flex; flex-direction: column; gap: 11px; }
#page-sales .scv-wl-leg { display: flex; align-items: center; gap: 10px; }
#page-sales .scv-wl-leg .scv-wl-sw { width: 11px; height: 11px; border-radius: 3px; flex: none; }
#page-sales .scv-wl-leg .scv-wl-t { flex: 1; }
#page-sales .scv-wl-leg .scv-wl-t b { display: block; color: #F0EBE2; font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 13px; line-height: 1.1; }
#page-sales .scv-wl-leg .scv-wl-t span { font-size: 10.5px; color: #8A857D; }
#page-sales .scv-wl-leg .scv-wl-v { font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 15px; color: #F0EBE2; }
#page-sales .scv-wl-note { margin-top: 12px; padding-top: 12px; border-top: 1px solid rgba(255,255,255,0.07); font-size: 10.5px; color: #8A857D; line-height: 1.45; }
#page-sales .scv-wl-note b { color: #C4BFB6; }

/* loss-reason + resolved two-col row (sample .twocol L226) */
#page-sales .scv-twocol { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-bottom: 18px; }
@media (max-width: 1180px) { #page-sales .scv-twocol { grid-template-columns: 1fr; } }

/* loss-reason analysis (sample .lr-* L227-244) */
#page-sales .scv-lr { display: flex; flex-direction: column; gap: 10px; margin-top: 4px; }
#page-sales .scv-lr-item { display: flex; align-items: center; gap: 12px; }
#page-sales .scv-lr-rank { width: 20px; flex: none; font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 12px; color: #8A857D; text-align: center; }
#page-sales .scv-lr-body { flex: 1; min-width: 0; }
#page-sales .scv-lr-body .scv-lr-top { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-bottom: 5px; }
#page-sales .scv-lr-body .scv-lr-name { font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 12px; color: #F0EBE2; }
#page-sales .scv-lr-body .scv-lr-meta { font-size: 10.5px; color: #8A857D; }
#page-sales .scv-lr-body .scv-lr-meta b { color: #C4BFB6; }
#page-sales .scv-lr-track { height: 9px; border-radius: 5px; background: rgba(255,255,255,0.05); overflow: hidden; }
#page-sales .scv-lr-track b { display: block; height: 100%; border-radius: 5px; }
#page-sales .scv-lr-c1 b { background: linear-gradient(90deg, #E05555, #ef8585); }
#page-sales .scv-lr-c2 b { background: linear-gradient(90deg, #E8943A, #f2b06a); }
#page-sales .scv-lr-c3 b { background: linear-gradient(90deg, #8B6FD6, #b3a0e6); }
#page-sales .scv-lr-c4 b { background: linear-gradient(90deg, #5B9BD5, #8fc0ec); }
#page-sales .scv-lr-c5 b { background: linear-gradient(90deg, #8A857D, #b3afa8); }
#page-sales .scv-lr-foot { margin-top: 14px; padding-top: 13px; border-top: 1px solid rgba(255,255,255,0.07); font-size: 10.5px; color: #8A857D; line-height: 1.45; display: flex; align-items: center; gap: 8px; }
#page-sales .scv-lr-foot svg { width: 13px; height: 13px; stroke: #E8943A; flex: none; }
#page-sales .scv-lr-foot b { color: #C4BFB6; }

/* recently-resolved mini-list (sample .wd-* L247-259) */
#page-sales .scv-wd { display: flex; flex-direction: column; gap: 9px; margin-top: 4px; }
#page-sales .scv-wd-item { display: flex; align-items: center; gap: 11px; padding: 10px 12px; border-radius: 11px; background: rgba(255,255,255,0.02); border: 1px solid rgba(255,255,255,0.07); position: relative; overflow: hidden; }
#page-sales .scv-wd-item::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: #4CAF7D; }
#page-sales .scv-wd-item.scv-is-lost::before { background: #E05555; }
#page-sales .scv-wd-body { flex: 1; min-width: 0; }
#page-sales .scv-wd-body .scv-wd-name { font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 12px; color: #F0EBE2; }
#page-sales .scv-wd-body .scv-wd-d { font-size: 10.5px; color: #8A857D; margin-top: 2px; }
#page-sales .scv-wd-body .scv-wd-d b { color: #C4BFB6; }
#page-sales .scv-wd-amt { font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 12.5px; white-space: nowrap; color: #4CAF7D; }
#page-sales .scv-wd-amt.scv-is-lost { color: #E05555; }
#page-sales .scv-wd-tag { font-size: 9px; font-family: 'Montserrat', sans-serif; font-weight: 700; letter-spacing: .03em; padding: 2px 7px; border-radius: 999px; flex: none; }
#page-sales .scv-wd-tag.scv-won { color: #4CAF7D; background: rgba(76,175,125,0.14); border: 1px solid rgba(76,175,125,0.32); }
#page-sales .scv-wd-tag.scv-lost { color: #E05555; background: rgba(224,85,85,0.14); border: 1px solid rgba(224,85,85,0.32); }
#page-sales .scv-wd-empty { font-size: 11.5px; color: #8A857D; padding: 14px 4px; line-height: 1.5; }

/* conversion-rate trend (sample .trend-* L262-268) */
#page-sales .scv-trend-panel { margin-bottom: 18px; }
#page-sales .scv-trend-chart { margin-top: 8px; }
#page-sales .scv-trendsvg { width: 100%; height: 210px; display: block; }
#page-sales .scv-trend-legend { display: flex; gap: 18px; margin-top: 10px; font-size: 10.5px; color: #8A857D; flex-wrap: wrap; }
#page-sales .scv-trend-legend span { display: inline-flex; align-items: center; gap: 6px; }
#page-sales .scv-trend-legend .scv-sw { width: 14px; height: 3px; border-radius: 2px; display: inline-block; }
#page-sales .scv-trend-legend b { color: #C4BFB6; font-weight: 600; }

/* honest-empty preview primitives (sample .empty-note / .preview-* L271-287) */
#page-sales .scv-empty-note { display: flex; align-items: center; gap: 10px; background: linear-gradient(120deg, rgba(232,148,58,0.07), rgba(255,255,255,0.012)); border: 1px solid rgba(232,148,58,0.2); border-radius: 13px; padding: 13px 16px; margin-bottom: 18px; }
#page-sales .scv-empty-note .scv-en-ic { width: 30px; height: 30px; border-radius: 9px; background: rgba(232,148,58,0.13); display: grid; place-items: center; flex: none; }
#page-sales .scv-empty-note .scv-en-ic svg { width: 16px; height: 16px; stroke: #E8943A; }
#page-sales .scv-empty-note .scv-en-t { font-size: 11.5px; color: #C4BFB6; line-height: 1.45; }
#page-sales .scv-empty-note .scv-en-t b { color: #F0EBE2; }
#page-sales .scv-empty-note .scv-en-badge { margin-left: auto; font-family: 'Montserrat', sans-serif; font-size: 9.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #E8943A; border: 1px solid rgba(232,148,58,0.4); border-radius: 999px; padding: 3px 10px; white-space: nowrap; }
#page-sales .scv-kpi-aff { display: flex; align-items: center; gap: 6px; font-size: 10px; color: #E8943A; margin-top: 7px; }
#page-sales .scv-kpi-aff .scv-pd { width: 6px; height: 6px; border-radius: 50%; background: #E8943A; }
#page-sales .scv-preview-body { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 9px; padding: 26px 18px; border: 1px dashed rgba(255,255,255,0.13); border-radius: 12px; text-align: center; background: rgba(255,255,255,0.012); }
#page-sales .scv-preview-body .scv-pb-ic { width: 32px; height: 32px; border-radius: 9px; background: rgba(255,255,255,0.04); display: grid; place-items: center; }
#page-sales .scv-preview-body .scv-pb-ic svg { width: 17px; height: 17px; stroke: #8A857D; }
#page-sales .scv-preview-body .scv-pb-tag { font-family: 'Montserrat', sans-serif; font-size: 9.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #E8943A; }
#page-sales .scv-preview-body .scv-pb-txt { font-size: 11px; color: #8A857D; line-height: 1.5; max-width: 340px; }
#page-sales .scv-preview-body .scv-pb-txt b { color: #C4BFB6; }

#page-sales .scv-footnote { font-size: 10px; color: #8A857D; margin-top: 18px; text-align: center; opacity: .7; line-height: 1.5; }

/* ════════════════════════════════════════════════════════════════════════════
   FIX_SALES_PROSPECTS_S1_2026_06_22 — Prospects (top-of-funnel lead list) styles, scoped
   under #page-sales. Ported TO design_samples/sales/sales_prospects.html section-by-section
   (the sample's generic .kpi/.stage/.panel/.ptable/.shape/.lower classes are re-namespaced
   .prx-* to avoid the app-wide collisions; the Pipeline surface already owns .sp-*). FULL-WIDTH:
   NO narrow max-width cap on the surface or its cards — they fill the #sales-content host like
   Pipeline / Forecast / Conversions / Win-Back (the host's own gutter supplies the side padding).
   Tokens reuse the shared :root palette already on the page. ASCII-only comments. ════ */

/* header actions (sample L327-330) */
#page-sales .prx-actions { margin-left: auto; display: flex; gap: 9px; }
#page-sales .prx-btn-prim { display: inline-flex; align-items: center; gap: 8px; font-family: 'Montserrat'; font-size: 12px; font-weight: 700; color: #16140F; background: linear-gradient(180deg, #C9A84C, #9c7f33); border: none; border-radius: 9px; padding: 9px 15px; cursor: pointer; box-shadow: 0 8px 22px -8px rgba(201,168,76,0.55), inset 0 1px 0 rgba(255,255,255,0.3); transition: transform .16s cubic-bezier(0.4,0,0.2,1); white-space: nowrap; }
#page-sales .prx-btn-prim:hover { transform: translateY(-1px); }
#page-sales .prx-btn-prim svg { width: 14px; height: 14px; stroke: #16140F; }
#page-sales .prx-btn-ghost { display: inline-flex; align-items: center; gap: 7px; font-family: 'Montserrat'; font-size: 12px; font-weight: 600; color: #C4BFB6; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.13); border-radius: 9px; padding: 9px 14px; cursor: pointer; transition: .16s cubic-bezier(0.4,0,0.2,1); white-space: nowrap; }
#page-sales .prx-btn-ghost:hover { color: #F0EBE2; border-color: #C9A84C; }
#page-sales .prx-btn-ghost svg { width: 14px; height: 14px; stroke: currentColor; }

/* status line (sample L332-335) */
#page-sales .prx-statusline { display: flex; align-items: center; gap: 10px; margin: 10px 0 18px; font-size: 13.5px; color: #C4BFB6; }
#page-sales .prx-statusline .prx-dot { width: 10px; height: 10px; border-radius: 50%; background: #C9A84C; box-shadow: 0 0 11px #C9A84C; position: relative; flex: none; }
#page-sales .prx-statusline .prx-dot::after { content: ""; position: absolute; inset: -5px; border-radius: 50%; border: 1px solid rgba(201,168,76,0.4); animation: prxPulse 2.6s ease-out infinite; }
#page-sales .prx-statusline b { color: #F0EBE2; font-weight: 700; }
#page-sales .prx-statusline .prx-fix { color: #E8943A; font-weight: 600; }

/* industry-shape banner (sample L337-342) */
#page-sales .prx-shape { display: flex; align-items: center; gap: 11px; background: linear-gradient(120deg, rgba(91,155,213,0.08), rgba(255,255,255,0.015)); border: 1px solid rgba(91,155,213,0.22); border-radius: 13px; padding: 13px 16px; margin-bottom: 18px; }
#page-sales .prx-shape .prx-si { width: 30px; height: 30px; border-radius: 9px; background: rgba(91,155,213,0.14); display: grid; place-items: center; flex: none; }
#page-sales .prx-shape .prx-si svg { width: 16px; height: 16px; stroke: #5B9BD5; }
#page-sales .prx-shape .prx-stext { font-size: 11.5px; color: #C4BFB6; line-height: 1.45; }
#page-sales .prx-shape .prx-stext b { color: #F0EBE2; }
#page-sales .prx-shape .prx-sbadge { margin-left: auto; font-family: 'Montserrat'; font-size: 9.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #5B9BD5; border: 1px solid rgba(91,155,213,0.4); border-radius: 999px; padding: 3px 10px; white-space: nowrap; flex: none; }

/* KPI band, 5 tiles (sample L344-351) */
#page-sales .prx-kpis { display: grid; grid-template-columns: repeat(5, 1fr); gap: 13px; margin-bottom: 18px; }
#page-sales .prx-kpi { position: relative; overflow: hidden; background: linear-gradient(165deg, #262320, #1f1c19); border: 1px solid rgba(255,255,255,0.07); border-radius: 14px; padding: 15px 16px 14px; box-shadow: 0 16px 34px -28px #000, inset 0 1px 0 rgba(255,255,255,0.05); transition: transform .2s cubic-bezier(0.4,0,0.2,1), box-shadow .2s cubic-bezier(0.4,0,0.2,1), border-color .2s cubic-bezier(0.4,0,0.2,1); }
#page-sales .prx-kpi::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: #C9A84C; opacity: .55; }
#page-sales .prx-kpi.prx-k-new::before { background: #5B9BD5; }
#page-sales .prx-kpi.prx-k-active::before { background: #C9A84C; }
#page-sales .prx-kpi.prx-k-warm::before { background: #4CAF7D; }
#page-sales .prx-kpi.prx-k-stale::before { background: #E8943A; }
#page-sales .prx-kpi.prx-k-conv::before { background: #3FB6A8; }
#page-sales .prx-kpi:hover { transform: translateY(-3px); border-color: rgba(255,255,255,0.13); box-shadow: 0 22px 44px -26px #000, 0 0 0 1px rgba(201,168,76,0.14), 0 0 26px -12px rgba(201,168,76,0.45); }
#page-sales .prx-kpi .prx-lbl { font-size: 9.5px; letter-spacing: 1.2px; text-transform: uppercase; color: #8A857D; font-weight: 700; margin-bottom: 7px; }
#page-sales .prx-kpi .prx-val { font-size: 23px; font-weight: 800; color: #F0EBE2; line-height: 1; font-family: 'Montserrat'; font-variant-numeric: tabular-nums; }
#page-sales .prx-kpi .prx-sub { font-size: 11.5px; margin-top: 7px; color: #8A857D; }
#page-sales .prx-kpi .prx-sub .prx-delta { font-weight: 700; }
#page-sales .prx-pos { color: #4CAF7D; } #page-sales .prx-warn { color: #E8943A; }

/* lead-stage progress strip, 4 stages (sample L353-358) */
#page-sales .prx-stages { display: grid; grid-template-columns: repeat(4, 1fr); gap: 11px; margin-bottom: 18px; }
#page-sales .prx-stage { position: relative; background: linear-gradient(170deg, #211e1c, #1b1816); border: 1px solid rgba(255,255,255,0.07); border-radius: 13px; padding: 13px 15px; box-shadow: inset 0 1px 0 rgba(255,255,255,0.05); }
#page-sales .prx-stage::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; border-radius: 13px 0 0 13px; background: var(--prx-lvl, #C9A84C); }
#page-sales .prx-stage.prx-s-new { --prx-lvl: #5B9BD5; }
#page-sales .prx-stage.prx-s-contacted { --prx-lvl: #C9A84C; }
#page-sales .prx-stage.prx-s-trial { --prx-lvl: #4CAF7D; }
#page-sales .prx-stage.prx-s-decision { --prx-lvl: #E8943A; }
#page-sales .prx-stage .prx-sg-h { display: flex; align-items: center; justify-content: space-between; }
#page-sales .prx-stage .prx-sg-name { font-family: 'Montserrat'; font-weight: 700; font-size: 11.5px; color: #F0EBE2; display: flex; align-items: center; gap: 7px; }
#page-sales .prx-stage .prx-sg-name i { width: 9px; height: 9px; border-radius: 3px; background: var(--prx-lvl); display: inline-block; }
#page-sales .prx-stage .prx-sg-count { font-family: 'Montserrat'; font-weight: 800; font-size: 18px; color: #F0EBE2; line-height: 1; }
#page-sales .prx-stage .prx-sg-sub { font-size: 10.5px; color: #8A857D; margin-top: 5px; }

/* filter / search bar (sample L361-378) */
#page-sales .prx-filtbar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 14px; }
#page-sales .prx-search { display: flex; align-items: center; gap: 8px; background: rgba(255,255,255,0.025); border: 1px solid rgba(255,255,255,0.07); border-radius: 10px; padding: 7px 12px; min-width: 220px; flex: 1; max-width: 340px; }
#page-sales .prx-search svg { width: 15px; height: 15px; stroke: #8A857D; flex: none; }
#page-sales .prx-search input { background: none; border: none; outline: none; color: #C4BFB6; font-family: 'Open Sans'; font-size: 12px; width: 100%; }
#page-sales .prx-search input::placeholder { color: #8A857D; }
#page-sales .prx-filt-group { display: flex; align-items: center; gap: 6px; background: rgba(255,255,255,0.025); border: 1px solid rgba(255,255,255,0.07); border-radius: 10px; padding: 5px 6px; }
#page-sales .prx-filt-lbl { font-size: 9.5px; letter-spacing: .08em; text-transform: uppercase; color: #8A857D; font-weight: 700; padding: 0 6px; }
#page-sales .prx-chip { font-family: 'Montserrat'; font-size: 11px; font-weight: 600; padding: 5px 11px; border-radius: 8px; border: 1px solid rgba(255,255,255,0.07); background: rgba(255,255,255,0.02); color: #C4BFB6; cursor: pointer; transition: .16s cubic-bezier(0.4,0,0.2,1); }
#page-sales .prx-chip:hover { border-color: rgba(255,255,255,0.13); color: #F0EBE2; }
#page-sales .prx-chip.on { background: linear-gradient(180deg, rgba(201,168,76,0.2), rgba(201,168,76,0.06)); border-color: rgba(201,168,76,0.4); color: #F0EBE2; }

/* prospect table panel (sample L381-445) — FULL-WIDTH, no max-width cap */
#page-sales .prx-panel { background: linear-gradient(170deg, #252220, #1e1b19); border: 1px solid rgba(255,255,255,0.07); border-radius: 16px; padding: 6px 6px 8px; box-shadow: 0 22px 50px -36px #000, inset 0 1px 0 rgba(255,255,255,0.05); margin-bottom: 18px; }
#page-sales .prx-table { width: 100%; border-collapse: collapse; }
#page-sales .prx-table thead th { font-family: 'Montserrat'; font-size: 9.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #8A857D; text-align: left; padding: 12px 14px 11px; border-bottom: 1px solid rgba(255,255,255,0.07); white-space: nowrap; }
#page-sales .prx-table thead th.r { text-align: right; }
#page-sales .prx-table tbody tr { transition: background .15s cubic-bezier(0.4,0,0.2,1); cursor: pointer; }
#page-sales .prx-table tbody tr:hover { background: rgba(255,255,255,0.03); }
#page-sales .prx-table tbody td { padding: 12px 14px; border-bottom: 1px solid rgba(255,255,255,0.07); font-size: 12.5px; vertical-align: middle; }
#page-sales .prx-table tbody tr:last-child td { border-bottom: none; }
#page-sales .prx-name { display: flex; align-items: center; gap: 11px; }
#page-sales .prx-ava { width: 32px; height: 32px; border-radius: 50%; background: linear-gradient(140deg, #2e2a24, #191713); color: #C9A84C; display: grid; place-items: center; font-family: 'Montserrat'; font-weight: 700; font-size: 11px; flex: none; border: 1px solid rgba(255,255,255,0.13); }
#page-sales .prx-nm { font-family: 'Montserrat'; font-weight: 700; color: #F0EBE2; font-size: 12.5px; line-height: 1.2; }
#page-sales .prx-rmeta { font-size: 10.5px; color: #8A857D; margin-top: 2px; }
#page-sales .prx-stage-pill { font-family: 'Montserrat'; font-size: 9.5px; font-weight: 700; letter-spacing: .03em; padding: 3px 9px; border-radius: 999px; display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; }
#page-sales .prx-stage-pill i { width: 7px; height: 7px; border-radius: 50%; display: inline-block; }
#page-sales .prx-stage-pill.new { color: #5B9BD5; background: rgba(91,155,213,0.12); border: 1px solid rgba(91,155,213,0.3); } #page-sales .prx-stage-pill.new i { background: #5B9BD5; }
#page-sales .prx-stage-pill.contacted { color: #C9A84C; background: rgba(201,168,76,0.12); border: 1px solid rgba(201,168,76,0.3); } #page-sales .prx-stage-pill.contacted i { background: #C9A84C; }
#page-sales .prx-stage-pill.trial { color: #4CAF7D; background: rgba(76,175,125,0.12); border: 1px solid rgba(76,175,125,0.3); } #page-sales .prx-stage-pill.trial i { background: #4CAF7D; }
#page-sales .prx-stage-pill.decision { color: #E8943A; background: rgba(232,148,58,0.12); border: 1px solid rgba(232,148,58,0.3); } #page-sales .prx-stage-pill.decision i { background: #E8943A; }
#page-sales .prx-src { font-size: 11px; color: #C4BFB6; }
#page-sales .prx-age { font-family: 'Montserrat'; font-weight: 700; color: #C4BFB6; font-size: 12px; text-align: right; }
#page-sales .prx-age.warn { color: #E8943A; }
#page-sales .prx-next { font-size: 11px; color: #C4BFB6; display: flex; align-items: center; gap: 6px; }
#page-sales .prx-next svg { width: 13px; height: 13px; stroke: #C9A84C; opacity: .8; flex: none; }
#page-sales .prx-act .prx-mini { font-family: 'Montserrat'; font-size: 10.5px; font-weight: 600; padding: 6px 11px; border-radius: 8px; border: 1px solid rgba(255,255,255,0.13); background: rgba(255,255,255,0.04); color: #C4BFB6; cursor: pointer; transition: .16s cubic-bezier(0.4,0,0.2,1); white-space: nowrap; }
#page-sales .prx-act .prx-mini:hover { color: #F0EBE2; border-color: #C9A84C; }

/* honest-empty state (sample L447-453) — structure preserved */
#page-sales .prx-empty { text-align: center; padding: 38px 20px; color: #8A857D; }
#page-sales .prx-empty-ic { width: 46px; height: 46px; border-radius: 13px; background: rgba(201,168,76,0.1); display: grid; place-items: center; margin: 0 auto 14px; }
#page-sales .prx-empty-ic svg { width: 22px; height: 22px; stroke: #C9A84C; opacity: .8; }
#page-sales .prx-empty b { color: #F0EBE2; font-family: 'Montserrat'; font-size: 13px; }
#page-sales .prx-empty p { font-size: 11.5px; margin-top: 6px; line-height: 1.5; max-width: 380px; margin-left: auto; margin-right: auto; }

/* lower row: source mix + this-week focus (sample L456-495) */
#page-sales .prx-lower { display: grid; grid-template-columns: 1fr 1.3fr; gap: 18px; }
@media (max-width: 1080px) { #page-sales .prx-lower { grid-template-columns: 1fr; } }
#page-sales .prx-panel2 { background: linear-gradient(170deg, #252220, #1e1b19); border: 1px solid rgba(255,255,255,0.07); border-radius: 16px; padding: 18px 20px; box-shadow: 0 22px 50px -36px #000, inset 0 1px 0 rgba(255,255,255,0.05); }
#page-sales .prx-panel-h { display: flex; align-items: center; justify-content: space-between; margin-bottom: 3px; }
#page-sales .prx-panel-h h3 { font-size: 14px; letter-spacing: .4px; font-family: 'Montserrat'; color: #F0EBE2; font-weight: 700; }
#page-sales .prx-panel-h .prx-hint { font-size: 11px; color: #8A857D; }
#page-sales .prx-panel-sub { font-size: 11.5px; color: #8A857D; margin: 2px 0 14px; }
#page-sales .prx-sbar { display: flex; align-items: center; gap: 12px; font-size: 12px; margin-bottom: 11px; }
#page-sales .prx-sbar .prx-sb-l { width: 118px; color: #C4BFB6; flex: none; display: flex; align-items: center; gap: 7px; }
#page-sales .prx-sbar .prx-sb-l i { width: 8px; height: 8px; border-radius: 2px; }
#page-sales .prx-sbar .prx-sb-track { flex: 1; height: 11px; border-radius: 6px; background: rgba(255,255,255,0.06); overflow: hidden; }
#page-sales .prx-sbar .prx-sb-track b { display: block; height: 100%; border-radius: 6px; }
#page-sales .prx-sbar .prx-sb-v { width: 42px; text-align: right; font-family: 'Montserrat'; font-weight: 700; color: #F0EBE2; font-size: 12px; }
#page-sales .prx-src-note { margin-top: 13px; font-size: 10.5px; color: #8A857D; display: flex; align-items: center; gap: 7px; line-height: 1.4; }
#page-sales .prx-src-note svg { width: 13px; height: 13px; stroke: #C9A84C; flex: none; }
#page-sales .prx-src-note b { color: #C4BFB6; }
#page-sales .prx-focus-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 11px; }
#page-sales .prx-focus-head h3 { font-size: 14px; letter-spacing: .4px; display: flex; align-items: center; gap: 9px; font-family: 'Montserrat'; color: #F0EBE2; font-weight: 700; }
#page-sales .prx-focus-head h3 .prx-glyph { width: 24px; height: 24px; border-radius: 8px; background: linear-gradient(150deg, rgba(201,168,76,0.24), rgba(232,148,58,0.12)); display: grid; place-items: center; }
#page-sales .prx-focus-head h3 .prx-glyph svg { width: 14px; height: 14px; stroke: #C9A84C; }
#page-sales .prx-focus-head .prx-count { font-size: 10.5px; font-weight: 700; color: #F0EBE2; background: rgba(201,168,76,0.16); border: 1px solid rgba(201,168,76,0.36); border-radius: 999px; padding: 3px 11px; font-family: 'Montserrat'; }
#page-sales .prx-focus { display: flex; flex-direction: column; gap: 9px; }
#page-sales .prx-focus-empty { font-size: 11.5px; color: #8A857D; padding: 14px 12px; line-height: 1.5; background: rgba(255,255,255,0.02); border: 1px solid rgba(255,255,255,0.07); border-radius: 11px; }
#page-sales .prx-focus-item { display: flex; align-items: center; gap: 11px; padding: 11px 12px; border-radius: 11px; background: rgba(255,255,255,0.02); border: 1px solid rgba(255,255,255,0.07); position: relative; overflow: hidden; }
#page-sales .prx-focus-item::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--prx-lvl, #C9A84C); }
#page-sales .prx-focus-item.warm { --prx-lvl: #4CAF7D; }
#page-sales .prx-focus-item.stale { --prx-lvl: #E8943A; border-color: rgba(232,148,58,0.3); background: linear-gradient(108deg, rgba(232,148,58,0.08), rgba(255,255,255,0.02) 50%); }
#page-sales .prx-focus-body { flex: 1; min-width: 0; }
#page-sales .prx-focus-body .prx-ft { font-family: 'Montserrat'; font-weight: 700; font-size: 12px; color: #F0EBE2; }
#page-sales .prx-focus-body .prx-fd { font-size: 11px; color: #8A857D; margin-top: 3px; line-height: 1.4; }
#page-sales .prx-focus-body .prx-fd b { color: #C4BFB6; }
#page-sales .prx-focus-act .prx-fbtn { font-family: 'Montserrat'; font-size: 10.5px; font-weight: 600; padding: 7px 12px; border-radius: 8px; border: 1px solid rgba(255,255,255,0.13); background: rgba(255,255,255,0.04); color: #C4BFB6; cursor: pointer; transition: .16s cubic-bezier(0.4,0,0.2,1); white-space: nowrap; flex: none; }
#page-sales .prx-focus-act .prx-fbtn:hover { color: #F0EBE2; border-color: #C9A84C; }

/* footnote (sample L497) */
#page-sales .prx-footnote { font-size: 10px; color: #8A857D; margin-top: 18px; text-align: center; opacity: .7; line-height: 1.5; }

@media (prefers-reduced-motion: reduce) { #page-sales .prx-statusline .prx-dot::after { animation: none !important; } }

/* ════════════════════════════════════════════════════════════════════════════
   FIX_SALES_INTELLIGENCE_S1_2026_06_22 — Sales Intelligence (the §8.8 read &
   recommendation surface) styles, scoped under #page-sales. Built TO
   design_samples/sales/sales_intelligence.html at ultra-HD fidelity (the founder
   sample is the spec). The sample's :root token VALUES are inlined as literal hex
   (the platform :root names differ; mirror of the #page-sales .sa-* /.sp-* /
   #page-operations precedent — port the sample's literal colours verbatim). Every
   selector is #page-sales-scoped so it cannot leak to another specialist surface.
   The .si-* /.shape/.sec-h/.panel/.ftf/.feed/.finding/.score-explain/.calib/
   FIX_CSS_COMMENT_GLOB_SWALLOW_2026_07_29 - glob slashes spaced so this comment cannot self-close.
   .one-source/.lens/.empty/.conf/.footnote/.act classes are ported verbatim from
   the sample <style> (sample L115-286). DISPLAY-ONLY surface — no animation, no
   rAF; the calibration sliders are static positioned knobs (no drag). ════════ */
#page-sales .si-hero {
  background: linear-gradient(150deg, rgba(38,35,32,0.9), rgba(28,25,22,0.55));
  border: 1px solid rgba(255,255,255,0.07); border-radius: 18px; padding: 20px 24px 22px; margin-bottom: 22px;
  box-shadow: 0 24px 54px -40px #000, inset 0 1px 0 rgba(255,255,255,0.05); position: relative; overflow: hidden;
}
#page-sales .si-hero::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: #C9A84C; opacity: .55; }
#page-sales .si-hero-top { display: flex; align-items: center; gap: 13px; margin-bottom: 14px; }
#page-sales .si-avatar { width: 42px; height: 42px; border-radius: 12px; background: linear-gradient(150deg, #C9A84C, #9c7f33); display: grid; place-items: center; flex: none; box-shadow: 0 4px 16px rgba(201,168,76,0.3), inset 0 1px 0 rgba(255,255,255,0.3); }
#page-sales .si-avatar svg { width: 22px; height: 22px; }
#page-sales .si-who { display: flex; flex-direction: column; }
#page-sales .si-who .si-name { font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 13.5px; color: #F0EBE2; }
#page-sales .si-who .si-role { font-size: 10.5px; color: #8A857D; letter-spacing: .04em; }
#page-sales .si-live { margin-left: auto; display: flex; align-items: center; gap: 7px; font-size: 10.5px; color: #C4BFB6; border: 1px solid rgba(255,255,255,0.07); border-radius: 999px; padding: 4px 11px; }
#page-sales .si-live i { width: 8px; height: 8px; border-radius: 50%; background: #C9A84C; box-shadow: 0 0 10px #C9A84C; }
#page-sales .si-hero h1 { font-family: 'Montserrat', sans-serif; font-size: 26px; font-weight: 800; letter-spacing: -.01em; line-height: 1; margin-bottom: 7px; color: #F0EBE2; }
#page-sales .si-hsub { font-size: 11.5px; color: #8A857D; margin-bottom: 13px; }
#page-sales .si-narration { font-size: 13.5px; color: #C4BFB6; line-height: 1.55; max-width: 74ch; }
#page-sales .si-narration b { color: #F0EBE2; }

/* industry-shape banner (canon §8.8.9) */
#page-sales .shape { display: flex; align-items: center; gap: 11px; background: linear-gradient(120deg, rgba(91,155,213,0.08), rgba(255,255,255,0.015)); border: 1px solid rgba(91,155,213,0.22); border-radius: 13px; padding: 13px 16px; margin-bottom: 22px; }
#page-sales .shape .si { width: 30px; height: 30px; border-radius: 9px; background: rgba(91,155,213,0.14); display: grid; place-items: center; flex: none; }
#page-sales .shape .si svg { width: 16px; height: 16px; stroke: #5B9BD5; }
#page-sales .shape .stext { font-size: 11.5px; color: #C4BFB6; line-height: 1.45; }
#page-sales .shape .stext b { color: #F0EBE2; }
#page-sales .shape .sbadge { margin-left: auto; font-family: 'Montserrat', sans-serif; font-size: 9.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #5B9BD5; border: 1px solid rgba(91,155,213,0.4); border-radius: 999px; padding: 3px 10px; white-space: nowrap; }

/* FIX_SI_KIT_CASCADE_2026_08_08 — section heading, restructured to the spec sample's si-sech shape
   (glyph tile + text column). The four legacy `.sec-h` rules that stood here are DELETED, dead by
   construction once renderSalesIntelligence emits no legacy section heading (see the seven si-sech
   literals in that function).
   The legacy section-heading class survives file-wide on nine other surfaces whose rules are NOT
   .si-wrap-anchored and are untouched (symbol deliberately paraphrased, not quoted, so this comment
   cannot inflate a grep-verification count of the emission it describes).
   ⛔ Emits `si-sech`, NOT the kit's `.vk .sec-h` — that rule is display:flex/align-items:center and
   expects .glyph/.sh-l children this markup does not have; adopting it would put the tag, the h2 and
   the sub-line all on one line. `si-sech` was collision-free at authoring (0 emissions, 0 CSS rules).
   h2 declares size/weight/letter-spacing ONLY: family (Sora) and colour are ambient inside .vk —
   measured on the served bundle, not assumed. Colour channels use the canonical --*-rgb tokens. */
#page-sales .si-wrap .si-sech { display: flex; align-items: flex-start; gap: 13px; width: 100%; margin: 26px 2px 14px; }
#page-sales .si-wrap .si-sech .sh-glyph { width: 24px; height: 24px; border-radius: 7px; flex: none; display: grid; place-items: center; background: rgba(var(--gold-rgb),0.12); margin-top: 2px; }
#page-sales .si-wrap .si-sech .sh-glyph svg { width: 14px; height: 14px; stroke: var(--gold-hi); fill: none; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
#page-sales .si-wrap .si-sech .sh-txt { min-width: 0; }
#page-sales .si-wrap .si-sech .sh-row { display: flex; align-items: center; gap: 11px; flex-wrap: wrap; }
#page-sales .si-wrap .si-sech h2 { font-size: 14.5px; font-weight: 700; letter-spacing: -.01em; }
#page-sales .si-wrap .si-sech .sh-tag { font-family: 'Sora', sans-serif; font-size: 9.5px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; border-radius: 999px; padding: 4px 10px; white-space: nowrap; }
#page-sales .si-wrap .si-sech .sh-tag.red { color: var(--red-hi); background: rgba(var(--red-rgb),0.12); border: 1px solid rgba(var(--red-rgb),0.3); }
#page-sales .si-wrap .si-sech .sh-tag.gold { color: var(--gold-hi); background: rgba(var(--gold-rgb),0.12); border: 1px solid rgba(var(--gold-rgb),0.3); }
#page-sales .si-wrap .si-sech .sh-tag.blue { color: var(--blue-hi); background: rgba(var(--blue-rgb),0.12); border: 1px solid rgba(var(--blue-rgb),0.3); }
#page-sales .si-wrap .si-sech .sh-sub { font-size: 11.5px; color: var(--mut); line-height: 1.5; margin-top: 5px; max-width: 82ch; }

/* FIX_SI_KIT_CASCADE_2026_08_08 — panel. FOUR ID-scoped rules DELETED here (.panel, .panel-h,
   .panel-h h3, .panel-sub) so the kit rules `.vk .panel` / `.vk .panel-h` / `.vk .panel-h h3` /
   `.vk .panel-sub` reach the pixels. They could not before: an ID beats any number of classes, so
   (1,2,0) here outranked the kit's (0,2,0) on every shared property. The wrapper now emits
   the kit opt-in class alongside si-wrap (see renderSalesIntelligence; symbol paraphrased, not
   quoted, so this comment cannot inflate the emission-site guard) — the retirement, not the
   wrapper, is the fix;
   a wrapper-only change renders byte-identically.
   ⚠ NAMED RESIDUAL, accepted not silent: `.panel-sub` loses `margin-top: 2px` — legacy declared
   `margin: 2px 0 14px`, the kit declares only `margin-bottom: 14px`. 2px, outcome N.
   ⛔ .obs / .obs-dot are KEPT: the kit has no `.vk .panel-h .obs`, so retiring them is a deletion
   with no replacement, not a port. */
#page-sales .si-wrap .panel-h .obs { display: flex; align-items: center; gap: 7px; font-size: 10.5px; color: #8A857D; }
#page-sales .si-wrap .panel-h .obs .obs-dot { width: 7px; height: 7px; border-radius: 50%; background: #C9A84C; box-shadow: 0 0 8px rgba(201,168,76,0.28); }

/* FIRST THING I'D FIX hero-finding */
#page-sales .ftf { display: flex; gap: 15px; align-items: flex-start; background: linear-gradient(118deg, rgba(224,85,85,0.10), rgba(255,255,255,0.015) 55%); border: 1px solid rgba(224,85,85,0.30); border-radius: 16px; padding: 18px 20px; margin-bottom: 8px; box-shadow: 0 22px 50px -38px #000, inset 0 1px 0 rgba(255,255,255,0.05); position: relative; overflow: hidden; }
#page-sales .ftf::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: #E05555; }
#page-sales .ftf .ftf-glyph { width: 34px; height: 34px; border-radius: 10px; background: linear-gradient(150deg, rgba(224,85,85,0.28), rgba(232,148,58,0.12)); display: grid; place-items: center; flex: none; }
#page-sales .ftf .ftf-glyph svg { width: 18px; height: 18px; stroke: #E05555; }
#page-sales .ftf-body { flex: 1; min-width: 0; }
#page-sales .ftf-kicker { font-family: 'Montserrat', sans-serif; font-size: 9.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #E05555; margin-bottom: 5px; }
#page-sales .ftf-title { font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 15px; color: #F0EBE2; margin-bottom: 6px; line-height: 1.3; }
#page-sales .ftf-trace { font-size: 12.5px; color: #C4BFB6; line-height: 1.5; margin-bottom: 11px; }
#page-sales .ftf-trace b { color: #F0EBE2; }
#page-sales .ftf-chain { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; margin-bottom: 12px; }
#page-sales .ftf-chain .ch-step { font-size: 10px; font-family: 'Montserrat', sans-serif; font-weight: 600; color: #C4BFB6; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.07); border-radius: 7px; padding: 4px 9px; }
#page-sales .ftf-chain .ch-arr { color: #8A857D; font-size: 11px; }
#page-sales .ftf-actions { display: flex; gap: 9px; flex-wrap: wrap; }
#page-sales .ftf-amt { font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 15px; color: #E05555; white-space: nowrap; text-align: right; }
#page-sales .ftf-amt small { display: block; font-size: 9px; color: #8A857D; font-weight: 600; margin-top: 2px; }

/* action button (inert) */
#page-sales .si-wrap .act { display: inline-flex; align-items: center; gap: 7px; font-family: 'Montserrat', sans-serif; font-size: 11px; font-weight: 600; padding: 7px 13px; border-radius: 9px; border: 1px solid rgba(255,255,255,0.13); background: rgba(255,255,255,0.03); color: #C4BFB6; cursor: pointer; transition: .16s cubic-bezier(0.4,0,0.2,1); }
#page-sales .si-wrap .act:hover { border-color: rgba(201,168,76,0.4); color: #F0EBE2; background: linear-gradient(180deg, rgba(201,168,76,0.12), rgba(201,168,76,0.03)); }
#page-sales .si-wrap .act svg { width: 13px; height: 13px; stroke: currentColor; }
#page-sales .si-wrap .act.primary { border-color: rgba(201,168,76,0.4); color: #F0EBE2; background: linear-gradient(180deg, rgba(201,168,76,0.18), rgba(201,168,76,0.05)); }
/* FIX_SI_KIT_CASCADE_2026_08_08 — `#page-sales .si-wrap .coming-tag` DELETED here so `.vk .coming-tag`
   applies: the kit typeface replaces the legacy heading face (both symbols paraphrased, not quoted,
   so this comment cannot inflate the legacy-typeface delta guard), and a 999px pill replaces a
   dashed 7px box.
   ⚠ NAMED RESIDUAL, the one most likely to be visible: the kit rule carries `margin-top: 12px`, and
   the shipped emission is an inline chip inside a button label (grep `class="coming-tag"` in
   renderSalesIntelligence). Measured pre-fix, that chip had NO kit rule at all and so no top margin.
   If it reads displaced from its button baseline, the disposition is a ONE-PROPERTY ID-escalated shim
   — `#page-sales .si-wrap.vk .coming-tag { margin-top: 0 }` at (1,3,0) — NEVER restoring the rule above.
   ⛔ `.act` / `.act:hover` / `.act svg` / `.act.primary` are KEPT: no kit equivalent exists. */

/* priority findings feed */
#page-sales .feed { display: flex; flex-direction: column; gap: 11px; }
#page-sales .finding { display: flex; gap: 13px; align-items: flex-start; background: rgba(255,255,255,0.02); border: 1px solid rgba(255,255,255,0.07); border-radius: 13px; padding: 14px 15px; position: relative; overflow: hidden; transition: .16s cubic-bezier(0.4,0,0.2,1); }
#page-sales .finding:hover { background: rgba(255,255,255,0.04); border-color: rgba(255,255,255,0.13); }
#page-sales .finding::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--lvl, #C9A84C); }
#page-sales .finding.sev-high { --lvl: #E05555; }
#page-sales .finding.sev-med { --lvl: #E8943A; }
#page-sales .finding.sev-low { --lvl: #5B9BD5; }
#page-sales .finding.sev-pos { --lvl: #4CAF7D; }
#page-sales .f-score { flex: none; width: 46px; height: 46px; border-radius: 12px; display: grid; place-items: center; background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.07); text-align: center; }
#page-sales .f-score .fs-n { font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 16px; color: #F0EBE2; line-height: 1; }
#page-sales .f-score .fs-l { font-size: 7.5px; letter-spacing: .06em; text-transform: uppercase; color: #8A857D; margin-top: 2px; }
#page-sales .finding.sev-high .f-score { border-color: rgba(224,85,85,0.4); background: rgba(224,85,85,0.08); }
#page-sales .finding.sev-med .f-score { border-color: rgba(232,148,58,0.36); background: rgba(232,148,58,0.07); }
#page-sales .finding.sev-pos .f-score { border-color: rgba(76,175,125,0.36); background: rgba(76,175,125,0.07); }
#page-sales .f-main { flex: 1; min-width: 0; }
#page-sales .f-top { display: flex; align-items: center; gap: 9px; margin-bottom: 4px; flex-wrap: wrap; }
#page-sales .f-title { font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 13px; color: #F0EBE2; }
#page-sales .f-band { font-size: 8.5px; font-family: 'Montserrat', sans-serif; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; padding: 2px 7px; border-radius: 999px; color: #8A857D; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.07); }
#page-sales .f-band.b1 { color: #4CAF7D; border-color: rgba(76,175,125,0.32); background: rgba(76,175,125,0.1); }
#page-sales .f-band.b2 { color: #5B9BD5; border-color: rgba(91,155,213,0.32); background: rgba(91,155,213,0.1); }
#page-sales .f-band.b3 { color: #E8943A; border-color: rgba(232,148,58,0.32); background: rgba(232,148,58,0.1); }
#page-sales .f-desc { font-size: 12px; color: #C4BFB6; line-height: 1.5; margin-bottom: 9px; }
#page-sales .f-desc b { color: #F0EBE2; }
#page-sales .f-src { display: flex; align-items: center; gap: 7px; font-size: 10px; color: #8A857D; line-height: 1.4; padding-top: 9px; border-top: 1px solid rgba(255,255,255,0.07); }
#page-sales .f-src svg { width: 12px; height: 12px; stroke: #C9A84C; opacity: .8; flex: none; }
#page-sales .f-src b { color: #C4BFB6; font-weight: 600; }
#page-sales .f-src .calc { font-family: 'Montserrat', sans-serif; color: #C4BFB6; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.07); border-radius: 6px; padding: 1px 7px; font-size: 9.5px; }
#page-sales .f-amt { flex: none; text-align: right; font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 13px; color: var(--lvl, #C9A84C); white-space: nowrap; }
#page-sales .f-amt small { display: block; font-size: 8.5px; color: #8A857D; font-weight: 600; margin-top: 2px; }

/* priority-scoring explainer */
#page-sales .score-explain { display: grid; grid-template-columns: repeat(3, 1fr); gap: 11px; }
#page-sales .se-factor { background: rgba(255,255,255,0.02); border: 1px solid rgba(255,255,255,0.07); border-radius: 11px; padding: 12px 13px; }
#page-sales .se-factor .sf-h { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; }
#page-sales .se-factor .sf-n { font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 11.5px; color: #F0EBE2; }
#page-sales .se-factor .sf-w { font-family: 'Montserrat', sans-serif; font-size: 9.5px; font-weight: 700; color: #C9A84C; background: rgba(201,168,76,0.12); border: 1px solid rgba(201,168,76,0.3); border-radius: 999px; padding: 2px 8px; }
#page-sales .se-factor .sf-d { font-size: 10.5px; color: #8A857D; line-height: 1.45; }

/* calibration / thresholds (display-only — no drag) */
#page-sales .calib { display: flex; flex-direction: column; gap: 13px; }
#page-sales .calib-row { display: flex; align-items: center; gap: 14px; }
#page-sales .calib-row .cr-l { width: 160px; flex: none; font-size: 12px; color: #C4BFB6; display: flex; align-items: center; gap: 8px; }
#page-sales .calib-row .cr-l i { width: 8px; height: 8px; border-radius: 2px; flex: none; }
#page-sales .calib-row .cr-track { flex: 1; height: 8px; border-radius: 6px; background: rgba(255,255,255,0.06); position: relative; }
#page-sales .calib-row .cr-fill { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 6px; background: linear-gradient(90deg, #9c7f33, #C9A84C); }
#page-sales .calib-row .cr-knob { position: absolute; top: 50%; transform: translate(-50%, -50%); width: 15px; height: 15px; border-radius: 50%; background: #C9A84C; box-shadow: 0 0 10px rgba(201,168,76,0.28), inset 0 1px 0 rgba(255,255,255,0.4); border: 2px solid #1a160c; }
#page-sales .calib-row .cr-v { width: 88px; flex: none; text-align: right; font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 12px; color: #F0EBE2; }
#page-sales .calib-foot { display: flex; align-items: center; gap: 8px; font-size: 10.5px; color: #8A857D; margin-top: 4px; padding-top: 12px; border-top: 1px solid rgba(255,255,255,0.07); line-height: 1.45; }
#page-sales .calib-foot svg { width: 13px; height: 13px; stroke: #C9A84C; flex: none; }
#page-sales .calib-foot b { color: #C4BFB6; }

/* FIX_SALES_DAR_PLOT_S1_2026_06_24 — deals-at-risk plot: one horizontal per-lead track grouped by
   stage, reusing the .cr-track rail idiom; a limit-marker tick + on-track/at-risk/past-limit dots.
   Visual system matches the calibration panel directly above (gold #C9A84C, amber, red overage). */
#page-sales .dar { display: flex; flex-direction: column; gap: 7px; }
#page-sales .dar-row { display: flex; align-items: center; gap: 14px; }
#page-sales .dar-row .dar-l { width: 200px; flex: none; display: flex; align-items: center; gap: 8px; min-width: 0; }
#page-sales .dar-row .dar-chip { font-size: 8px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #8A857D; border: 1px solid rgba(255,255,255,0.13); border-radius: 999px; padding: 2px 7px; flex: none; }
#page-sales .dar-row .dar-name { font-size: 12px; color: #C4BFB6; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#page-sales .dar-row .dar-track { flex: 1; height: 8px; border-radius: 6px; background: rgba(255,255,255,0.06); position: relative; }
#page-sales .dar-row .dar-fill { position: absolute; top: 0; bottom: 0; border-radius: 6px; }
#page-sales .dar-row .dar-mark { position: absolute; top: -3px; bottom: -3px; width: 2px; background: rgba(255,255,255,0.45); transform: translateX(-50%); }
#page-sales .dar-row .dar-dot { position: absolute; top: 50%; transform: translate(-50%, -50%); width: 14px; height: 14px; border-radius: 50%; border: 2px solid #1a160c; box-shadow: 0 0 9px rgba(0,0,0,0.4), inset 0 1px 0 rgba(255,255,255,0.4); }
#page-sales .dar-row.s-ontrack .dar-dot { background: #4CAF7D; }
#page-sales .dar-row.s-ontrack .dar-fill { background: linear-gradient(90deg, rgba(76,175,125,0.4), rgba(76,175,125,0.65)); }
#page-sales .dar-row.s-atrisk .dar-dot { background: #C9A84C; }
#page-sales .dar-row.s-atrisk .dar-fill { background: linear-gradient(90deg, #9c7f33, #C9A84C); }
#page-sales .dar-row.s-past .dar-dot { background: #E05555; }
#page-sales .dar-row.s-past .dar-fill { background: linear-gradient(90deg, rgba(224,85,85,0.55), #E05555); }
#page-sales .dar-row .dar-v { width: 96px; flex: none; text-align: right; font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 11.5px; color: #F0EBE2; }
#page-sales .dar-row .dar-v small { display: block; font-family: 'Open Sans', sans-serif; font-weight: 600; font-size: 9px; color: #8A857D; margin-top: 1px; }
#page-sales .dar-foot { display: flex; align-items: center; gap: 8px; font-size: 10.5px; color: #8A857D; margin-top: 6px; padding-top: 12px; border-top: 1px solid rgba(255,255,255,0.07); line-height: 1.45; }
#page-sales .dar-foot svg { width: 13px; height: 13px; stroke: #C9A84C; flex: none; }
#page-sales .dar-foot b { color: #C4BFB6; }
#page-sales .dar-legend { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; font-size: 10px; color: #8A857D; margin-top: 10px; }
#page-sales .dar-legend span { display: inline-flex; align-items: center; gap: 6px; }
#page-sales .dar-legend i { width: 9px; height: 9px; border-radius: 50%; flex: none; }

/* one record / three lenses cross-specialist boundary */
#page-sales .one-source { display: flex; align-items: center; gap: 10px; background: rgba(255,255,255,0.02); border: 1px solid rgba(255,255,255,0.07); border-radius: 12px; padding: 13px 15px; margin-bottom: 13px; font-size: 12px; color: #C4BFB6; line-height: 1.45; }
#page-sales .one-source svg { width: 18px; height: 18px; stroke: #C9A84C; flex: none; }
#page-sales .one-source b { color: #F0EBE2; }
#page-sales .lens-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 13px; }
#page-sales .lens { background: rgba(255,255,255,0.02); border: 1px solid rgba(255,255,255,0.07); border-radius: 13px; padding: 15px 16px; position: relative; }
#page-sales .lens.owns { border-color: rgba(201,168,76,0.32); background: linear-gradient(160deg, rgba(201,168,76,0.07), rgba(255,255,255,0.015)); }
#page-sales .lens .l-tag { display: flex; align-items: center; gap: 8px; font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 11px; color: #F0EBE2; margin-bottom: 9px; flex-wrap: wrap; }
#page-sales .lens .l-ic { width: 24px; height: 24px; border-radius: 7px; background: rgba(255,255,255,0.05); display: grid; place-items: center; flex: none; }
#page-sales .lens .l-ic svg { width: 14px; height: 14px; stroke: #C9A84C; }
#page-sales .lens.fin .l-ic svg { stroke: #5B9BD5; }
#page-sales .lens.crm .l-ic svg { stroke: #3FB6A8; }
#page-sales .lens .owns-pill { font-size: 8px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #C9A84C; border: 1px solid rgba(201,168,76,0.4); border-radius: 999px; padding: 2px 7px; }
#page-sales .lens h4 { font-family: 'Montserrat', sans-serif; font-size: 12.5px; color: #F0EBE2; margin-bottom: 6px; line-height: 1.3; }
#page-sales .lens p { font-size: 11px; color: #8A857D; line-height: 1.5; }
#page-sales .lens p b { color: #C4BFB6; }
#page-sales .lens .l-metric { margin-top: 11px; font-family: 'Montserrat', sans-serif; font-weight: 800; font-size: 15px; color: #C9A84C; }
#page-sales .lens.fin .l-metric { color: #5B9BD5; }
#page-sales .lens.crm .l-metric { color: #3FB6A8; }
#page-sales .lens .l-metric span { display: block; font-size: 9px; color: #8A857D; font-weight: 600; margin-top: 2px; letter-spacing: .02em; }

/* honest-empty block (functionally-dim / no-data) */
#page-sales .si-wrap .empty { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 8px; padding: 26px 18px; color: #8A857D; font-size: 11.5px; line-height: 1.5; }
#page-sales .si-wrap .empty .e-ic { width: 40px; height: 40px; border-radius: 12px; background: rgba(255,255,255,0.03); border: 1px solid rgba(255,255,255,0.07); display: grid; place-items: center; }
#page-sales .si-wrap .empty .e-ic svg { width: 20px; height: 20px; stroke: #8A857D; }
#page-sales .si-wrap .empty b { color: #C4BFB6; }

/* attribution / confidence chips */
#page-sales .conf { display: inline-flex; align-items: center; gap: 4px; font-size: 9px; font-weight: 700; font-family: 'Montserrat', sans-serif; padding: 1px 7px; border-radius: 999px; }
#page-sales .conf .cf-dot { width: 6px; height: 6px; border-radius: 50%; }
#page-sales .conf.high { color: #4CAF7D; background: rgba(76,175,125,0.12); border: 1px solid rgba(76,175,125,0.3); }
#page-sales .conf.high .cf-dot { background: #4CAF7D; }
#page-sales .conf.med { color: #E8943A; background: rgba(232,148,58,0.12); border: 1px solid rgba(232,148,58,0.3); }
#page-sales .conf.med .cf-dot { background: #E8943A; }

/* FIX_SI_KIT_CASCADE_2026_08_08 — `#page-sales .si-wrap .footnote` DELETED so `.vk .footnote` applies:
   11px not 10px, var(--faint) not the hard-coded #8A857D, margin-top 26px not 22px. The legacy
   `opacity: .7` is not carried by the kit — outcome N, and deliberate: the kit expresses the same
   recession through var(--faint) rather than by fading the whole element. */

/* FIX_SI_KIT_CASCADE_2026_08_08 -- GRANT SHIMS. A kit port has TWO effects, not one: RETIREMENT
   (rules the host loses when a capturing rule is deleted) and GRANT (rules the host GAINS the
   instant `vk` lands). On every property a surviving legacy rule does not DECLARE, there is
   nothing to override the kit and it wins UNCONTESTED -- so preserving a legacy rule protects
   only the properties that rule mentions, including on tokens this build deliberately PRESERVES.
   The three rules below restore the pre-`vk` computed value on exactly the granted properties
   enumerated at brief section 0G.1, and on no others.
   Specificity: `#page-sales .si-wrap.vk .<token>` = (1,3,0), which beats legacy (1,1,0) AND kit
   (0,2,0). `.si-wrap.vk` is a COMPOUND -- no space between the two classes; a space makes it a
   descendant selector that matches nothing. Do NOT author the `#page-sales .vk .<token>` form:
   that is (1,2,0), still above the kit but tie-adjacent, so a later `.si-wrap` rule silently
   outranks it. These heads carry no space after `si-wrap`, so they do not inflate the
   rule-head guard that counts `si-wrap` followed by a literal space.
   The remedy for an unwanted grant is a shim -- NEVER restoring a rule retired above (that
   un-ports the surface) and NEVER removing the `vk` wrapper (the wrapper IS the port). */

/* .lens -- all four properties are grants: the kit declares display/align-items/gap/margin while
   the surviving `#page-sales .lens` declares only background/border/border-radius/padding/position.
   `display: block` is the load-bearing one. The three custody cards are grid items of
   `#page-sales .lens-grid` (repeat(3,1fr), preserved and untouched); the kit's `display:flex` laid
   each card's OWN contents out horizontally. `align-items` and `gap` are inert on a block box and
   are authored anyway, so a future change to `display` cannot silently re-enable them. */
#page-sales .si-wrap.vk .lens { display: block; align-items: normal; gap: normal; margin: 0; }

/* .conf -- three grants: the kit declares flex/text-align/flex-direction; the surviving
   `#page-sales .conf` declares display/align-items/gap/font-size/font-weight/font-family/padding/
   border-radius. `flex-direction: row` is the load-bearing one -- it puts `.cf-dot` back BESIDE
   its label instead of stacked above it. That failure passes a human glance, because padding,
   radius and font-size all survive and the chip still reads as a pill; only a per-property
   measurement catches it. `text-align: inherit` NOT `left`: the pre-`vk` value was INHERITED from
   the ancestor, not an initial value, and hardcoding `left` would be a different wrong answer that
   happens to render correctly today. `flex: 0 1 auto` is the CSS initial for `flex`. */
#page-sales .si-wrap.vk .conf { flex: 0 1 auto; text-align: inherit; flex-direction: row; }

/* .coming-tag -- its legacy rule is RETIRED above, so the kit takes the whole rule, and that is
   WANTED: the 'Sora' face, the 999px pill radius and the colour are all the point of the port.
   Only the granted `margin-top: 12px` is not: the emission is an INLINE chip inside a button label
   (class="coming-tag" style="margin-left:6px"), where 12px displaces it from the button baseline.
   The granted `gap: 6px` is left alone -- the emission is text-only, with no svg child, so it is
   inert. */
#page-sales .si-wrap.vk .coming-tag { margin-top: 0; }