/* ==========================================================================
   Mono — one disciplined palette across every page.
   Navy + ink, ONE accent (deep teal-blue) in four tones, neutrals,
   and a muted red reserved for real problems. No green, amber, violet, pink.
   Loaded last on index + the three product pages.
   ========================================================================== */
:root {
  --m-navy: #0b8fa8;
  --m-ink: #2f3a3d;
  --m-acc: #048eaa;
  --m-acc-2: #0ac4e9;
  --m-acc-3: #56ddf8;
  --m-acc-4: #bae9f3;
  --m-on: #a1e1ee;          /* accent on dark */
  --m-grey: #88a5aa;
  --m-line: #d5e1e3;
  --m-neg: #b42318;
  --m-neg-bg: #fbeceb;
}

/* ---- Signal tokens collapse to the accent family */
body.home, body.scm-page {
  --sig-geo: var(--m-on);
  --sig-vision: var(--m-on);
  --sig-text: var(--m-on);
  --sig-video: var(--m-on);
  --n-cyan: var(--m-acc);
  --n-sky: var(--m-acc-2);
  --accent-2: #32d6f6;
}

/* ---- Gradient ink → one solid tone */
.s-title .hl,
body.home .s--dark .s-title .hl,
body.home .s--ink .s-title .hl,
body.scm-page .s--dark .s-title .hl,
body.scm-page .s--ink .s-title .hl {
  background: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  color: var(--m-acc) !important;
  -webkit-text-fill-color: var(--m-acc) !important;
}
.scm-stage .s-title .hl,
.home .hero-card .hl {
  background: none !important;
  -webkit-background-clip: border-box !important;
  background-clip: border-box !important;
  color: var(--m-on) !important;
  -webkit-text-fill-color: var(--m-on) !important;
}
.s-title .hl::after,
.home .hero-card .hl::after { filter: grayscale(1) brightness(1.6); opacity: 0.55; }
.s-proof__stats b { background: none !important; color: var(--m-ink) !important; -webkit-text-fill-color: var(--m-ink) !important; }
.s-proof__stats sup { color: var(--m-acc) !important; -webkit-text-fill-color: var(--m-acc) !important; }

/* ---- Buttons: solid, quiet */
.s-cta,
.home .hero-slide .hero-card .hero-cta {
  background: #ffffff !important;
  color: var(--m-navy) !important;
  box-shadow: none !important;
}
.s-cta:hover,
.home .hero-slide .hero-card .hero-cta:hover { background: var(--m-acc-4) !important; box-shadow: none !important; }
body.home main .s-cta,
body.scm-page main section:not(.scm-stage) .s-cta { background: var(--m-navy) !important; color: #fff !important; }
body.home main .s-cta:hover,
body.scm-page main section:not(.scm-stage) .s-cta:hover { background: var(--m-acc) !important; }
.s-eyebrow, .scm-stage .s-eyebrow, .home .hero-slide .hero-kicker { color: var(--m-acc-2) !important; }
.s--light .s-eyebrow, body.home .s--dark .s-eyebrow, body.scm-page .s--dark .s-eyebrow { color: var(--m-acc) !important; }

/* ---- Hero card + stage */
.home .hero-slide .hero-card {
  background:
    linear-gradient(160deg, rgba(11, 143, 168, 0.92), rgba(11, 143, 168, 0.95)) padding-box,
    linear-gradient(135deg, rgba(161, 225, 238, 0.55), rgba(255, 255, 255, 0.08)) border-box !important;
}
.hero-mosaic > span.is-lit { filter: grayscale(1) sepia(1) hue-rotate(150deg) saturate(2.40) brightness(1.00) !important; }
.hero-mosaic > span.is-lit::after { opacity: 0.6 !important; }
.hero-mosaic > span.is-data b { background: var(--m-on) !important; box-shadow: none !important; }
.hero-rail i { background: var(--m-on) !important; box-shadow: none !important; }
.hero-rail button[aria-current="true"] b { color: var(--m-on) !important; }
.home .hero-arrow:hover { background: #fff !important; border-color: #fff !important; color: var(--m-navy) !important; }

/* ---- Registration marks + index */
body.home main > section:not(#top)::after,
body.scm-page main > section::after { filter: grayscale(1); opacity: 0.6 !important; }

/* ---- Homepage signal cards + industry tags */
body.home .sig { --c: var(--m-acc) !important; }
body.home .sig::before { background: none !important; }
body.home .sig::after { background: var(--m-acc) !important; }
body.home .sig__n { color: var(--m-acc) !important; }
.ind__sigs i { --c: rgba(255, 255, 255, 0.9) !important; border-color: rgba(255, 255, 255, 0.4) !important; }
.ind__sigs i::before { box-shadow: none !important; }

/* ---- Neuron: five memory rings in one tonal ramp */
.nm__ring[data-layer="working"]       { --c: #e0f5fa !important; }
.nm__ring[data-layer="episodic"]      { --c: #b2e7f1 !important; }
.nm__ring[data-layer="semantic"]      { --c: #6de2f9 !important; }
.nm__ring[data-layer="procedural"]    { --c: #2ed5f6 !important; }
.nm__ring[data-layer="institutional"] { --c: #09bee2 !important; }
.nm__branch, .nm__pulse--out, .nm__term { --c: var(--m-on) !important; }
.nm__clip rect { fill: rgba(161, 225, 238, 0.1) !important; stroke: rgba(161, 225, 238, 0.45) !important; }
.nm__clip text { fill: var(--m-on) !important; }
.nm-layer { --c: var(--m-acc) !important; }
.nm-layer__q { color: var(--m-acc) !important; }

/* ---- Cockpit (shared) */
.ck__pill { border-color: rgba(255, 255, 255, 0.3) !important; color: rgba(255, 255, 255, 0.75) !important; }
.ck__side button.is-on { background: rgba(161, 225, 238, 0.14) !important; }
.ck__side button.is-on::before { background: var(--m-on) !important; }
.neg { color: var(--m-neg) !important; }
.pos { color: var(--m-ink) !important; }
.ck-kpi--alert { box-shadow: inset 3px 0 0 var(--m-neg) !important; }
.ck-kpi--ok { box-shadow: inset 3px 0 0 var(--m-acc) !important; }
.ck-insight { border-left-color: var(--m-acc) !important; background: #effafc !important; }
.ck-mbar i { background: var(--m-acc) !important; }
.ck-mbar.neg i { background: var(--m-neg) !important; }
.ck-spark polyline { stroke: var(--m-acc) !important; }
.ck-spark.neg polyline { stroke: var(--m-neg) !important; }
.ck-empty::before { background: linear-gradient(90deg, var(--m-grey) calc(var(--e) * 100% / 0.6), #dff5f9 0) !important; }
.ck-wf--rev i { background: var(--m-ink) !important; }
.ck-wf--empty i { background: var(--m-grey) !important; }
.ck-wf--empty span, .ck-wf--empty b { color: var(--m-ink) !important; }
.ck-wf--net.pos i { background: var(--m-acc) !important; }
.ck-wf--net.neg i { background: var(--m-neg) !important; }
.ck-map__legend i.pos { background: var(--m-on) !important; }
.ck-map__legend i.mid { background: var(--m-acc-2) !important; }
.ck-map__legend i.neg { background: #e08a80 !important; }
.ck-table tbody tr.is-sel { box-shadow: inset 3px 0 0 var(--m-acc) !important; background: #ebf9fb !important; }

/* 13-week cash: one blue ramp, collections in navy */
.ck-chart .cin { fill: var(--m-ink) !important; }
.ck-chart .c0, .ck-legend .c0 { fill: #078aa4 !important; background: #078aa4 !important; }
.ck-chart .c1, .ck-legend .c1 { fill: #09b7da !important; background: #09b7da !important; }
.ck-chart .c2, .ck-legend .c2 { fill: #2dd5f6 !important; background: #2dd5f6 !important; }
.ck-chart .c3, .ck-legend .c3 { fill: #67e0f9 !important; background: #67e0f9 !important; }
.ck-chart .c4, .ck-legend .c4 { fill: #a7e3ef !important; background: #a7e3ef !important; }
.ck-chart .c5, .ck-legend .c5 { fill: #cceff6 !important; background: #cceff6 !important; }
.ck-legend .cin { background: var(--m-ink) !important; }
.ck-chart .bal { stroke: var(--m-neg) !important; }
.ck-chart .bal-dot { fill: var(--m-ink) !important; }
.ck-chart .bal-dot.neg { fill: var(--m-neg) !important; }
.ck-legend .cbal { background: var(--m-neg) !important; }

/* Ageing buckets: blue → grey → muted red */
.a0 { background: var(--m-acc-3) !important; }
.a1 { background: var(--m-acc) !important; }
.a2 { background: var(--m-ink) !important; }
.a3 { background: var(--m-neg) !important; }
.ck-heat__row i { background: color-mix(in srgb, var(--m-acc) calc(var(--u) * 100%), #eef5f6) !important; }
.ck-heat__scale i { background: linear-gradient(90deg, #eef5f6, var(--m-acc)) !important; }
.ck-bars i { background: var(--m-acc-2) !important; }
.ck-bars i.neg { background: var(--m-ink) !important; }

/* ---- SCM page */
.jr-step { --c: var(--m-acc) !important; }
.jr-step__dot { box-shadow: none !important; }
.sig-dot { background: var(--m-on) !important; box-shadow: none !important; }
.float { border-color: rgba(255, 255, 255, 0.18) !important; }
.wall__pane { --c: var(--m-on) !important; }
.wall__pane i { animation: none !important; box-shadow: none !important; }
.wall__pane:nth-child(2) i, .wall__pane:nth-child(6) i { background: #e08a80 !important; }
.conn { --c: var(--m-acc) !important; }
.ewb-card__head em { background: var(--m-on) !important; }
.ewb-bar i { background: var(--m-on) !important; box-shadow: none !important; animation: none !important; }
.ewb-list li::before, .ewb-list--auto li::before { background: var(--m-acc) !important; }
.ticks li::before { filter: grayscale(1); }
.chat .msg--in { background: #0b8fa8 !important; }
.msg b { color: var(--m-on) !important; }
.phone__avatar { background: var(--m-on) !important; }
.flow[data-state="auto"] [data-set="auto"] { background: var(--m-acc) !important; }

/* ---- Production page */
.u1 { background: var(--m-acc) !important; }
.u2 { background: var(--m-ink) !important; }
.u3 { background: var(--m-neg) !important; }
.pp-load.u1 { color: var(--m-acc-3) !important; background: #eef4f5 !important; }
.pp-load.u2 { color: var(--m-acc) !important; background: #eef4f5 !important; }
.pp-load.u3 { color: #e3a39b !important; background: #eef4f5 !important; }
.pp-rush { background: #eefafc !important; box-shadow: inset 3px 0 0 var(--m-acc) !important; }
.pp-btn { border-color: var(--m-acc) !important; color: var(--m-acc) !important; }
.pp-btn.is-on { background: var(--m-acc) !important; color: #fff !important; }
.pp-st--ok { background: #ebf9fb !important; color: var(--m-acc) !important; }
.pp-st--now { background: var(--m-neg-bg) !important; color: var(--m-neg) !important; }
.pp-st--week { background: #eef4f5 !important; color: var(--m-ink) !important; }
.pp-al--now { border-left-color: var(--m-neg) !important; }
.pp-al--next7 { border-left-color: var(--m-acc) !important; }
.pp-lvl, .pp-lvl--b { fill: var(--m-acc-3) !important; }
.pp-lvl--warn { fill: var(--m-on) !important; opacity: 1; }
.pp-pack { fill: var(--m-on) !important; }
.pp-dot--out { fill: var(--m-on) !important; }
.pp-gate { fill: rgba(161, 225, 238, 0.15) !important; stroke: var(--m-on) !important; }
.pp-truck--wait rect { fill: #e08a80 !important; }
.pp-stack .pp-stack--low { fill: #e08a80 !important; }
.pp-pin--amber { fill: var(--m-on) !important; }
.pp-pin--red, .tw-pin { fill: #e08a80 !important; }
.pp-scene__bar i { background: var(--m-on) !important; }
.tw-l { fill: var(--m-acc-3) !important; }
.tw-low { fill: #e08a80 !important; }
.tw-warn { fill: var(--m-on) !important; }
.tw-hot, .tw-gate { stroke: var(--m-on) !important; fill: rgba(161, 225, 238, 0.15) !important; }
.tw-truck { fill: #e08a80 !important; }
.pp-scrub > span:first-child { color: var(--m-on) !important; }
.pp-scrub input, .pp-range input, .ck-whatif input { accent-color: var(--m-acc) !important; }
.pp-cap i.u1 { background: var(--m-acc-3) !important; }
.pp-ask__a { border-left-color: var(--m-acc) !important; background: #effafc !important; }

/* ---- Manufacturing page */
.mf-dot { fill: var(--m-on) !important; }
.mf-dot--late { fill: #e08a80 !important; }
.mf-plant { fill: rgba(161, 225, 238, 0.15) !important; stroke: var(--m-on) !important; }
.mf-rdc--warn { fill: var(--m-on) !important; }
.mf-rdc--crit { fill: #e08a80 !important; animation: none !important; }
.mf-arc { stroke: rgba(161, 225, 238, 0.35) !important; }
.mfg-warn { color: var(--m-ink) !important; }
.mfg-band { fill: rgba(4, 142, 170, 0.06) !important; stroke: rgba(4, 142, 170, 0.35) !important; }
.mfg-band-l { fill: var(--m-acc) !important; }
.mfg-trace { stroke: var(--m-ink) !important; }
.mfg-ex { fill: var(--m-neg) !important; }
.mfg-truck__bed i.d1, .pp-legend .d1 { background: var(--m-ink) !important; }
.mfg-truck__bed i.d2, .pp-legend .d2 { background: var(--m-acc) !important; }
.mfg-truck__bed i.d3, .pp-legend .d3 { background: var(--m-acc-3) !important; }
.mfg-truck__bed i.e { background: repeating-linear-gradient(45deg, #fff, #fff 4px, #e5eeef 4px, #e5eeef 6px) !important; }
.mfg-act.is-on { background: #ebf9fb !important; }
.mfg-act.is-on b, .mfg-act.is-on em { color: var(--m-acc) !important; }
.mfg-sql { color: var(--m-on) !important; }
.arch__layer li::before { background: var(--m-acc) !important; }
.arch__layer:not(:last-child)::after { background: var(--m-ink) !important; }
.phases li::before { background: var(--m-acc) !important; }

/* ---- India twin panel + neuron live dot */
.tw__badge { color: var(--m-on) !important; }
.tw__badge i { background: var(--m-on) !important; animation: none !important; }
.tw-p__status,
.tw-p__status[data-state] { background: rgba(161, 225, 238, 0.14) !important; color: var(--m-on) !important; }
.tw-p__status[data-state="loading"],
.tw-p__status[data-state="cross-dock"] { background: rgba(255, 255, 255, 0.08) !important; color: #fff !important; }
.tw-p__stops li[data-state="active"] i { border-color: var(--m-on) !important; box-shadow: 0 0 0 4px rgba(161, 225, 238, 0.2) !important; }
.tw-p__stops li[data-state="done"] i,
.tw-p__stops li[data-state="done"]::after { background: var(--m-acc-2) !important; border-color: var(--m-acc-2) !important; }
.tw__stops i { background: var(--m-on) !important; }
.tw__chapters button[aria-pressed="true"] { background: var(--m-on) !important; border-color: var(--m-on) !important; }
.nm__live-dot { fill: var(--m-on) !important; }
.ck__pill, .tw__track input { accent-color: var(--m-on); }
