/* khs-wireframe.css — strips chromatic color from KHS for structural review.
 * Load LAST (after khs-clean.css and khs-states.css). When the design is
 * locked, remove this <link> tag to restore color.
 *
 * Approach:
 *   1. Remap every chromatic token to a grayscale step.
 *   2. Override per-page hardcoded hex backgrounds (warm row tints,
 *      hover tints, status colors) to neutral grays.
 *   3. Replace color-coded row backgrounds with a monochrome left-border
 *      accent (solid for critical, dashed for warning) so state still reads.
 *   4. Neutralize colored buttons, fills, sparklines, charts, and SVG paths.
 */

/* ════════════════════════════════════════════════════════════════════
   1 · Tokens — full grayscale remap (light)
   Selector is `html:root` (higher specificity than bare `:root`) so we
   win over runtime-injected token overrides (e.g. khs-tweaks.js).
   ════════════════════════════════════════════════════════════════════ */
html:root {
  --paper:        #ffffff !important;
  --surface:      #ffffff !important;
  --surface-2:    #f4f4f4 !important;
  --surface-3:    #ebebeb !important;
  --ink:          #111111 !important;
  --ink-2:        #444444 !important;
  --ink-3:        #888888 !important;
  --rule:         #dddddd !important;
  --rule-2:       #b8b8b8 !important;

  /* chromatic accents → step on the gray scale; preserves relative weight */
  --sage:         #6a6a6a !important;  /* mid gray, "ok" indicator */
  --sage-deep:    #222222 !important;  /* near-black, primary actions */
  --sage-soft:    #cfcfcf !important;
  --sage-tint:    #f0f0f0 !important;
  --coral:        #1a1a1a !important;  /* darkest, "critical" weight */
  --coral-soft:   #ececec !important;
  --ocean:        #555555 !important;
  --ocean-soft:   #efefef !important;
  --amber:        #777777 !important;
  --amber-soft:   #f3f3f3 !important;
  --plum:         #4f4f4f !important;

  /* sidebar — wireframe (no fill, paper background) */
  --nav-bg:       #f7f6f2 !important;
  --nav-bg-2:     transparent !important;
  --nav-border:   #e2ddd0 !important;
  --nav-text:     #15201b !important;
  --nav-text-mute:#3a423e !important;
  --nav-text-dim: #6c736e !important;
  --nav-glyph:    #6c736e !important;
  --nav-hover:    #f1efe9 !important;
  --nav-active:   transparent !important;
  --nav-divider:  #e2ddd0 !important;

  --shadow-sm:    0 1px 0 rgba(0,0,0,.04) !important;
  --shadow-md:    0 2px 6px rgba(0,0,0,.05) !important;
  --focus-ring:   0 0 0 3px rgba(17,17,17,.18) !important;
}

html[data-theme="dark"] {
  --paper:#111 !important; --surface:#181818 !important;
  --surface-2:#222 !important; --surface-3:#2a2a2a !important;
  --ink:#f0f0f0 !important; --ink-2:#cccccc !important; --ink-3:#999 !important;
  --rule:#2a2a2a !important; --rule-2:#3a3a3a !important;
  --sage:#a0a0a0 !important; --sage-deep:#e0e0e0 !important;
  --sage-soft:#3a3a3a !important; --sage-tint:#1f1f1f !important;
  --coral:#f0f0f0 !important; --coral-soft:#1f1f1f !important;
  --ocean:#a0a0a0 !important; --ocean-soft:#1f1f1f !important;
  --amber:#a0a0a0 !important; --amber-soft:#1f1f1f !important;
  --plum:#a0a0a0 !important;

  /* sidebar — dark wireframe (was missing; previously leaked light cream nav) */
  --nav-bg:       #181818 !important;
  --nav-bg-2:     transparent !important;
  --nav-border:   #2a2a2a !important;
  --nav-text:     #f0f0f0 !important;
  --nav-text-mute:#cccccc !important;
  --nav-text-dim: #999 !important;
  --nav-glyph:    #888 !important;
  --nav-hover:    #1f1f1f !important;
  --nav-active:   #2a2a2a !important;
  --nav-divider:  #2a2a2a !important;
}

/* ════════════════════════════════════════════════════════════════════
   2 · Body / dashboard body background overrides (in-page inline)
   ════════════════════════════════════════════════════════════════════ */
body[style*="background"] { background-color: var(--paper) !important; }
body { background: var(--paper) !important; }

/* ════════════════════════════════════════════════════════════════════
   3 · Auth list — colored row tints → monochrome + left rule accent
   ════════════════════════════════════════════════════════════════════ */
table.auths tr td,
table.auths tr:hover td                 { background: var(--surface) !important; }
table.auths tr:hover td                 { background: #fafafa !important; }

table.auths tr.crit-row td              { background: #f1f1f1 !important; }
table.auths tr.crit-row:hover td        { background: #e9e9e9 !important; }
table.auths tr.warn-row td              { background: #f8f8f8 !important; }
table.auths tr.warn-row:hover td        { background: #efefef !important; }

table.auths tr.crit-row td:first-child  { box-shadow: inset 3px 0 0 0 var(--ink) !important; }
table.auths tr.warn-row td:first-child  { box-shadow: inset 2px 0 0 0 var(--ink-2) !important;
                                          background-image: repeating-linear-gradient(0deg,var(--ink-2) 0 3px, transparent 3px 6px) !important;
                                          background-repeat: no-repeat !important;
                                          background-size: 2px 100% !important;
                                          background-position: 0 0 !important; }

table.auths tr.group-row td             { background: var(--surface-2) !important;
                                          color: var(--ink-2) !important;
                                          font-weight: 500 !important; }
table.auths tr.group-row td .glyph-dot,
table.auths tr.group-row td [style*="background:var(--coral)"],
table.auths tr.group-row td [style*="background:var(--amber)"],
table.auths tr.group-row td [style*="background:var(--sage)"] {
  background: var(--ink) !important;
}

/* ════════════════════════════════════════════════════════════════════
   4 · Status chips (auth list/detail) — neutral background + dot
   ════════════════════════════════════════════════════════════════════ */
.status-chip,
.status-chip.active,
.status-chip.renewal,
.status-chip.expired,
.status-chip.pending,
.status-chip.paid,
.status-chip.submitted,
.status-chip.denied,
.status-chip.draft,
.stat-pill,
.stat-pill.draft {
  background: var(--surface) !important;
  color: var(--ink-2) !important;
  border: 1px solid var(--rule-2) !important;
  border-radius: 3px !important;
}
.status-chip .dot,
.stat-pill .dot { background: var(--ink) !important; }
.status-chip.expired .dot { background: var(--ink-3) !important; }
.status-chip.renewal .dot,
.status-chip.draft .dot   { background: var(--ink-2) !important; border:1px solid var(--ink-2); box-shadow: inset 0 0 0 1.5px var(--surface) !important; }
.status-chip.pending .dot,
.status-chip.submitted .dot { background: var(--surface) !important; border:1px solid var(--ink) !important; }

/* ════════════════════════════════════════════════════════════════════
   5 · Burndown sparkline cells (auth list) — monochrome
   ════════════════════════════════════════════════════════════════════ */
.burn-cell .bar          { background: var(--surface-2) !important;
                           border: 1px solid var(--rule) !important;
                           border-radius: 2px !important; height: 7px !important; }
.burn-cell .bar .actual,
.burn-cell .bar .actual.warn,
.burn-cell .bar .actual.crit { background: var(--ink) !important; }
.burn-cell .bar .actual.warn { background: repeating-linear-gradient(45deg, var(--ink) 0 3px, var(--ink-3) 3px 6px) !important; }
.burn-cell .bar .actual.crit { background: var(--ink) !important; }
.burn-cell .bar .ideal-mark  { background: var(--ink) !important; opacity:.7 !important; width:2px !important; }
.burn-cell .nums .pct,
.burn-cell .nums .pct.crit,
.burn-cell .nums .pct.warn,
.burn-cell .nums .pct.ok    { color: var(--ink) !important; font-weight:600 !important; }
.burn-cell .nums .ideal     { color: var(--ink-3) !important; }

/* ════════════════════════════════════════════════════════════════════
   6 · Expiry countdown (auth list)
   ════════════════════════════════════════════════════════════════════ */
.expiry-cell .countdown,
.expiry-cell .countdown.crit,
.expiry-cell .countdown.warn { color: var(--ink) !important; font-weight:600 !important; }

/* ════════════════════════════════════════════════════════════════════
   7 · Pills — strip all chromatic tones
   ════════════════════════════════════════════════════════════════════ */
.pill,
.pill.crit, .pill.warn, .pill.ok, .pill.info {
  background: var(--surface) !important;
  border: 1px solid var(--rule-2) !important;
  color: var(--ink-2) !important;
  border-radius: 3px !important;
}
.pill .dot                  { background: var(--ink-2) !important; }
.pill.crit .dot             { background: var(--ink) !important; }
.pill.warn .dot             { background: var(--ink-2) !important;
                              box-shadow: inset 0 0 0 1.5px var(--surface) !important; }
.pill.ok   .dot             { background: var(--ink-3) !important; }
.pill.info .dot             { background: var(--surface) !important;
                              border: 1px solid var(--ink) !important; }
.pill.active                { background: var(--ink) !important;
                              color: var(--paper) !important;
                              border-color: var(--ink) !important; }
.pill.active .dot           { background: var(--paper) !important; }

/* ════════════════════════════════════════════════════════════════════
   8 · Buttons — all variants collapse to ink/ghost
   ════════════════════════════════════════════════════════════════════ */
.btn.coral, .btn.sage,
.btn.coral:hover, .btn.sage:hover {
  background: var(--ink) !important;
  border-color: var(--ink) !important;
  color: var(--paper) !important;
}

/* ════════════════════════════════════════════════════════════════════
   9 · Code chips — outlined neutral
   ════════════════════════════════════════════════════════════════════ */
.code-chip, .code-chip.alt, .code-chip.ocean, .code-chip.plum,
.code-tag, .code-tag.cls, .code-tag.respite, .code-tag.skill {
  background: var(--surface) !important;
  color: var(--ink-2) !important;
  border: 1px solid var(--rule-2) !important;
}

/* ════════════════════════════════════════════════════════════════════
   10 · Avatars — neutral gray, no sage tint
   ════════════════════════════════════════════════════════════════════ */
.av-tiny, .av-tiny.coral, .av-tiny.ocean, .av-tiny.plum, .av-tiny.neutral,
.av-sm, .av-lg {
  background: var(--surface-2) !important;
  color: var(--ink-2) !important;
  border: 1px solid var(--rule) !important;
}

/* ════════════════════════════════════════════════════════════════════
   11 · Bars / meters — solid ink fill, hatched for projections
   ════════════════════════════════════════════════════════════════════ */
.util .bar, .auth-meter, .meter, .alert-meter .bar, .bar-line {
  background: var(--surface-2) !important;
  border: 1px solid var(--rule) !important;
}
.util .bar .fill, .auth-meter .fill, .meter .fill,
.alert-meter .bar .fill, .bar-line .fl { background: var(--ink) !important; }
.util .bar .fill.warn, .auth-meter .fill.warn, .meter .fill.warn, .bar-line .fl.warn {
  background: repeating-linear-gradient(45deg, var(--ink) 0 3px, var(--ink-3) 3px 6px) !important;
}
.util .bar .fill.crit, .auth-meter .fill.crit, .meter .fill.crit, .bar-line .fl.crit {
  background: var(--ink) !important;
}
.util .pct, .util .pct.crit, .util .pct.warn, .util .pct.ok {
  color: var(--ink) !important;
}

/* ════════════════════════════════════════════════════════════════════
   12 · Burndown chart SVG (auth detail) — neutral strokes/fills
   ════════════════════════════════════════════════════════════════════ */
.chart svg path[fill],
.chart svg polygon[fill],
.chart svg rect[fill] {
  /* leave existing fills — token remap handles var(--sage-*) etc. */
}
.chart svg [stroke="var(--coral)"],
.chart svg [fill="var(--coral)"]     { stroke: var(--ink) !important; }
.chart svg [stroke="var(--amber)"],
.chart svg [fill="var(--amber)"]     { stroke: var(--ink-2) !important;
                                       stroke-dasharray: 4 3; }
.chart .grid-line                     { stroke: var(--rule) !important; }

/* Legend swatches — neutralize */
.legend .swatch[style*="background"]  { background: var(--ink) !important; }
.legend .swatch:nth-of-type(2)        { background: repeating-linear-gradient(45deg, var(--ink-2) 0 3px, transparent 3px 6px) !important; }

/* ════════════════════════════════════════════════════════════════════
   13 · Timeline markers (auth detail audit trail)
   ════════════════════════════════════════════════════════════════════ */
.t-item.crit:before { background: var(--ink) !important; }
.t-item.warn:before { background: var(--ink-2) !important; }
.t-item.ok:before,
.t-item.info:before { background: var(--ink-3) !important; }
.t-item:before      { background: var(--ink-3) !important; }

/* ════════════════════════════════════════════════════════════════════
   14 · Sidebar — neutral dark, kill sage tints + colored brand bg
   ════════════════════════════════════════════════════════════════════ */
aside.nav { background: var(--nav-bg) !important; color: var(--nav-text) !important; }
aside.nav .brand img { background: transparent !important;
                       border-color: var(--nav-border) !important; }
aside.nav .brand .name { color: var(--nav-text) !important; }
aside.nav .brand .sub  { color: var(--nav-text-dim) !important; }
aside.nav .nav-search { background: transparent !important;
                        border-color: var(--nav-border) !important;
                        color: var(--nav-text-dim) !important; }
aside.nav .group-label { color: var(--nav-text-dim) !important; }
aside.nav a { color: var(--nav-text-mute) !important; background: transparent !important; }
aside.nav a:hover  { background: var(--nav-hover) !important; color: var(--nav-text) !important; }
aside.nav a.active { background: transparent !important; color: var(--nav-text) !important;
                     font-weight: 600 !important; border-radius: 0 !important;
                     box-shadow: inset 2px 0 0 var(--nav-text) !important; }
aside.nav a .glyph { color: var(--nav-text-dim) !important; }
aside.nav .me { border-top-color: var(--nav-divider) !important; }
aside.nav .me .av { background: transparent !important;
                    border: 1px solid var(--nav-border) !important;
                    color: var(--nav-text-mute) !important; }
aside.nav .me .me-name, aside.nav .me-name { color: var(--nav-text) !important; }
aside.nav .me .me-role, aside.nav .me-role { color: var(--nav-text-dim) !important; }

/* ════════════════════════════════════════════════════════════════════
   15 · Feed / triage markers — monochrome with shape variation
   ════════════════════════════════════════════════════════════════════ */
.feed .marker, .feed .marker.crit, .feed .marker.warn, .feed .marker.info, .feed .marker.ok {
  background: var(--ink) !important;
}
.feed .marker.warn  { background: var(--ink-2) !important; }
.feed .marker.info  { background: var(--surface) !important;
                      border: 1px solid var(--ink) !important; }
.feed .marker.ok    { background: var(--ink-3) !important; }

/* ════════════════════════════════════════════════════════════════════
   16 · Funnel + rhythm bars
   ════════════════════════════════════════════════════════════════════ */
.funnel .stage .bar, .funnel .stage .bar.draft,
.funnel .stage .bar.submitted, .funnel .stage .bar.paid {
  background: var(--ink) !important;
}
.funnel .stage .bar.draft  { background: repeating-linear-gradient(0deg, var(--ink) 0 2px, var(--surface) 2px 4px) !important; }
.funnel .stage .bar.denied { background: var(--ink) !important;
                             outline: 1px solid var(--ink); outline-offset:-1px; }
.rhythm .bar           { background: var(--rule-2) !important; }
.rhythm .bar.now       { background: var(--ink) !important; }
.rhythm .bar.proj      { background: repeating-linear-gradient(135deg, var(--surface-2) 0 4px, var(--rule-2) 4px 8px) !important; }

/* ════════════════════════════════════════════════════════════════════
   17 · KPIs / stat strip — kill chromatic accent line + numbers
   ════════════════════════════════════════════════════════════════════ */
.stat-strip .stat .v,
.stat-strip .stat .v.crit,
.stat-strip .stat .v.warn,
.stat-strip .stat .v.ok,
.kpi .v, .kpi .v.crit, .kpi .v.warn, .kpi .v.ok {
  color: var(--ink) !important;
}
.kpi:before, .stat-strip .stat:before { background: transparent !important; }

/* ════════════════════════════════════════════════════════════════════
   18 · Patterns page — neutralize the colored code block
   ════════════════════════════════════════════════════════════════════ */
.code { background:#1c1c1c !important; color:#e6e6e6 !important;
        border-color:#0d0d0d !important; }
.code .c { color:#888 !important; }
.code .a { color:#cccccc !important; }
.code .s { color:#dcdcdc !important; }
.swatch .color { filter: grayscale(100%) !important; }

/* Inline border-color hex leaks (e.g. pinkish #e8b9ac, amber #e8d4a3) */
[style*="border-color:#e8b9ac"],
[style*="border-color: #e8b9ac"],
[style*="border-color:#e8d4a3"],
[style*="border-color: #e8d4a3"],
[style*="border-color:#bfd1dc"],
[style*="border-color: #bfd1dc"],
[style*="border-color:#d6c5d4"],
[style*="border-color: #d6c5d4"] { border-color: var(--rule-2) !important; }

/* ════════════════════════════════════════════════════════════════════
   19 · Inline style attribute color overrides — last-resort sweep
   ════════════════════════════════════════════════════════════════════ */
[style*="color:var(--coral)"],
[style*="color: var(--coral)"],
[style*="color:#8e631a"],
[style*="color:var(--amber)"],
[style*="color:var(--ocean)"],
[style*="color:var(--plum)"] { color: var(--ink) !important; }

[style*="background:var(--coral)"],
[style*="background: var(--coral)"],
[style*="background:var(--amber)"],
[style*="background: var(--amber)"],
[style*="background:var(--ocean)"],
[style*="background: var(--ocean)"],
[style*="background:var(--sage)"],
[style*="background: var(--sage)"],
[style*="background:var(--plum)"],
[style*="background: var(--plum)"] { background: var(--ink) !important; }

/* ════════════════════════════════════════════════════════════════════
   20 · Renewal-runway strip (Auth list .expiring)
   ════════════════════════════════════════════════════════════════════ */
.expiring                     { background: var(--surface-2) !important; }
.expiring .glyph              { background: var(--ink) !important;
                                color: var(--paper) !important; }
.expiring .timeline           { background: var(--surface) !important;
                                border-color: var(--rule-2) !important; }
.expiring .tl-bucket          { color: var(--ink-3) !important; }
.expiring .tl-bucket .num     { color: var(--ink) !important; }
.expiring .tl-bucket .when    { color: var(--ink-3) !important; }
.expiring .tl-bucket.urgent   { background: #ececec !important;
                                box-shadow: inset 3px 0 0 0 var(--ink); }
.expiring .tl-bucket.urgent .num { color: var(--ink) !important; }
.expiring .tl-bucket.warn     { background: #f5f5f5 !important;
                                box-shadow: inset 2px 0 0 0 var(--ink-2); }
.expiring .tl-bucket.warn .num,
.expiring .tl-bucket.warn .when { color: var(--ink-2) !important; }
.expiring .tl-bucket.ok       { background: var(--surface) !important; }
.expiring .tl-bucket.ok .num  { color: var(--ink) !important; }

/* ════════════════════════════════════════════════════════════════════
   21 · Hardcoded text color leaks — sweep all hex tints to ink
   ════════════════════════════════════════════════════════════════════ */
.expiry-cell .when.crit,
.expiry-cell .when.warn,
.expiry-cell .countdown.crit,
.expiry-cell .countdown.warn,
.burn-cell .nums .pct.crit,
.burn-cell .nums .pct.warn,
.burn-cell .nums .pct.ok,
.row .stat .pct.crit,
.row .stat .pct.warn,
.row .stat .pct.ok,
.stat .v.crit, .stat .v.warn, .stat .v.ok,
.kpi .v.crit,  .kpi .v.warn,  .kpi .v.ok,
.summary .v.crit, .summary .v.warn, .summary .v.ok,
table.case .flag.crit, table.case .flag.warn, table.case .flag.ok,
.util .pct.crit, .util .pct.warn, .util .pct.ok,
.staff .compliance .v, .staff .compliance .v.warn, .staff .compliance .v.crit,
.t-item.crit .when, .t-item.warn .when {
  color: var(--ink) !important;
}

/* ════════════════════════════════════════════════════════════════════
   22 · Quick-action glyph tiles (Supervisor + Dashboard)
   ════════════════════════════════════════════════════════════════════ */
.quick a .gly,
.quick a .gly.coral,
.quick a .gly.ocean,
.quick a .gly.amber {
  background: var(--surface-2) !important;
  color: var(--ink-2) !important;
  border: 1px solid var(--rule) !important;
}

/* Exception markers (Supervisor) */
.exc .marker,
.exc .marker.crit,
.exc .marker.warn,
.exc .marker.info {
  background: var(--surface-2) !important;
  color: var(--ink) !important;
  border: 1px solid var(--rule-2) !important;
}
.exc .marker.crit { box-shadow: inset 0 0 0 1px var(--ink); }

/* Staff hours number / progress fill */
.staff .hours .num,
.staff .hours .num.warn,
.staff .hours .num.crit { color: var(--ink) !important; }
.staff .hours .progress .fl,
.staff .hours .progress .fl.warn,
.staff .hours .progress .fl.crit { background: var(--ink) !important; }

/* Case-table flag dots */
table.case .flag .x,
table.case .flag.crit .x,
table.case .flag.warn .x,
table.case .flag.ok .x { background: var(--ink-2) !important; }

/* ════════════════════════════════════════════════════════════════════
   23 · Monthly Grid cells — colored fills to monochrome rules
   ════════════════════════════════════════════════════════════════════ */
.cell.empty:hover { background: var(--surface-2) !important; }
.cell.warn        { background: #f6f6f6 !important;
                    color: var(--ink) !important;
                    box-shadow: inset 0 -2px 0 0 var(--ink-2); }
.cell.crit        { background: #ececec !important;
                    color: var(--ink) !important;
                    box-shadow: inset 0 -2px 0 0 var(--ink); }
.cell.over        { background: var(--ink) !important;
                    color: var(--paper) !important; }

/* ════════════════════════════════════════════════════════════════════
   25 · Table footer totals — kill warm-cream row tint
   ════════════════════════════════════════════════════════════════════ */
table tr.totals td,
table.months tr.totals td,
table.log tr.totals td,
table.claims tfoot td {
  background: var(--surface-2) !important;
  color: var(--ink) !important;
  border-top-color: var(--rule-2) !important;
}

/* Inline background hex leaks on cards/rows — pinkish coral-soft and
   warm cream tints used in page-level <style> blocks bypass the var
   remap. Catch the common ones. */
[style*="background:#fdf3ef"], [style*="background: #fdf3ef"],
[style*="background:#faf6e9"], [style*="background: #faf6e9"],
[style*="background:#fbe9e3"], [style*="background: #fbe9e3"],
[style*="background:#f7ecd0"], [style*="background: #f7ecd0"],
[style*="background:#e3edf3"], [style*="background: #e3edf3"] {
  background: var(--surface-2) !important;
}

/* Inline avatar with coral/ocean/sage tint background \u2014 already hit by
   .av-sm but inline style wins on some specificity orderings */
.av-sm[style*="background:"],
.av-tiny[style*="background:"],
.av-lg[style*="background:"] {
  background: var(--surface-2) !important;
  color: var(--ink-2) !important;
  border-color: var(--rule) !important;
}

/* ════════════════════════════════════════════════════════════════════
   24 · Role tags (Login, khs-governance.js scope-footer-bar, anywhere)
   ════════════════════════════════════════════════════════════════════ */
.role-tag,
.role-tag.gm, .role-tag.bm, .role-tag.hss, .role-tag.ss, .role-tag.dsw,
.scope-footer-bar .role-tag,
.scope-footer-bar .role-tag.gm,
.scope-footer-bar .role-tag.bm,
.scope-footer-bar .role-tag.hss,
.scope-footer-bar .role-tag.ss,
.scope-footer-bar .role-tag.dsw {
  background: var(--ink) !important;
  color: var(--paper) !important;
  border: 1px solid var(--ink) !important;
}
.scope-footer-bar { background: var(--surface-2) !important;
                    border-top: 1px solid var(--rule) !important; }
.scope-banner     { background: var(--surface-2) !important;
                    border-bottom: 1px solid var(--rule) !important;
                    color: var(--ink-2) !important; }
.topbar .view-as-cap { color: var(--ink-2) !important; }

/* ════════════════════════════════════════════════════════════════════
   25 · SVG sparkline / chart stroke + fill attribute overrides
   ════════════════════════════════════════════════════════════════════ */
svg [stroke="#1c2420"],
svg [stroke="#15201b"]   { stroke: var(--ink) !important; }
svg [stroke="#5d6e52"],
svg [stroke="#3f4d38"],
svg [stroke="#8a9a7b"]   { stroke: var(--ink) !important; }
svg [stroke="#c8553d"],
svg [stroke="#a8442f"]   { stroke: var(--ink) !important;
                           stroke-dasharray: 5 3 !important; }
svg [stroke="#c98f2e"],
svg [stroke="#a07426"]   { stroke: var(--ink-2) !important;
                           stroke-dasharray: 3 2 !important; }
svg [stroke="#4f7a96"],
svg [stroke="#3f637c"]   { stroke: var(--ink-2) !important; }
svg [stroke="#6c736e"]   { stroke: var(--ink-3) !important; }
svg [stroke="#efe9d6"],
svg [stroke="#e8e5db"]   { stroke: var(--rule) !important; }
svg [stroke="#fbf8f1"],
svg [stroke="#f7f6f2"]   { stroke: var(--paper) !important; }

svg [fill="#5d6e52"],
svg [fill="#3f4d38"],
svg [fill="#8a9a7b"]     { fill: var(--ink) !important; }
svg [fill="#c8553d"],
svg [fill="#a8442f"]     { fill: var(--ink) !important; }
svg [fill="#c98f2e"],
svg [fill="#a07426"]     { fill: var(--ink-2) !important; }
svg [fill="#4f7a96"],
svg [fill="#3f637c"]     { fill: var(--ink-2) !important; }
svg [fill="#6c736e"]     { fill: var(--ink-3) !important; }
svg [fill="#1c2420"],
svg [fill="#15201b"]     { fill: var(--ink) !important; }

/* ════════════════════════════════════════════════════════════════════
   26 · Trailing leaks — verifier pass 3
   ════════════════════════════════════════════════════════════════════ */
/* Login screen — wireframe brand panel (no fill) */
.brand-panel {
  background: var(--paper) !important;
}
.brand-panel:before {
  background: radial-gradient(circle at center, rgba(255,255,255,0.05) 0%, transparent 70%) !important;
}

/* Mobile "Log a Visit" — wireframe (no fill) */
.stage {
  background: var(--paper) !important;
}
.stage-head .role-chip,
.stage-head .role-chip .seg { border-color: var(--rule) !important; }
.stage-head .role-chip .seg:hover { background: var(--surface-2) !important; }
.stage-head a.lnk { border-bottom-color: var(--ink-3) !important; }
html, body { background: var(--paper) !important; }
body[style*="background:#1c2420"],
body[style*="background-color:#1c2420"] { background: var(--paper) !important; }
/* Totals row in monthly compliance table (Auth Detail) */
tr.totals td,
table.months tr.totals td       { background: var(--surface-2) !important;
                                  color: var(--ink) !important; }

/* Dashboard greeting band — was dark sage */
.greet                          { background: var(--surface-2) !important; }
.greet h1, .greet h1 .accent    { color: var(--ink) !important; }

/* Day-countdown chips */
.days, .days.warn, .days.crit   { color: var(--ink) !important; }

/* ════════════════════════════════════════════════════════════════════
   27 · Wireframe marker — small fixed tag bottom-left
   ════════════════════════════════════════════════════════════════════ */
body::after {
  content: "WIREFRAME · color stripped for structural review";
  position: fixed; left: 12px; bottom: 12px;
  font-family: "JetBrains Mono", ui-monospace, monospace;
  font-size: 10px; letter-spacing: .08em; text-transform: uppercase;
  background: var(--ink); color: var(--paper);
  padding: 4px 8px; border-radius: 3px;
  pointer-events: none; opacity: .85; z-index: 99;
}
@media print { body::after { display: none; } }
