
        /* ---- Support chat, dealer side (.chat-*) ---------------------------------- */
        html[data-theme="dark"] .chat-card { background: var(--cbp-surface) !important; border-color: var(--cbp-line) !important; }
        html[data-theme="dark"] .chat-log { background: var(--cbp-bg) !important; }
        html[data-theme="dark"] .chat-composer { background: var(--cbp-surface) !important; border-color: var(--cbp-line) !important; }
        html[data-theme="dark"] .chat-head h1 { color: var(--cbp-ink) !important; }
        html[data-theme="dark"] .chat-head p,
        html[data-theme="dark"] .chat-empty { color: var(--cbp-muted-t) !important; }

        /* ---- Insurance claims (.ic-*) --------------------------------------------- */
        html[data-theme="dark"] .ic-card { background: var(--cbp-surface) !important; border-color: var(--cbp-line) !important; }
        html[data-theme="dark"] .ic-card h2 { color: var(--cbp-ink) !important; }
        html[data-theme="dark"] .ic-card .ic-hint { color: var(--cbp-muted-t) !important; }
        /* :not(.is-active) is load-bearing. Without it this rule repaints the SELECTED
           tab the same as the unselected ones and the strip loses its state entirely --
           at night the only thing still saying which panel is open was the small count
           chip beside the label. The active tab keeps the shared fill instead. */
        html[data-theme="dark"] .ic-tab:not(.is-active) { background: var(--cbp-surface-2) !important; color: var(--cbp-body) !important; border-color: var(--cbp-line) !important; }
        html[data-theme="dark"] .ic-tab.is-active { background: var(--cbp-blue-fill, #4c5a6b) !important; border-color: var(--cbp-blue-fill, #4c5a6b) !important; color: #fff !important; }
        html[data-theme="dark"] .ic-tab.is-active .ic-tabcount { background: #2e719c !important; color: #f0f8fe !important; }

        /* ---- CARFAX list (.cfx-*) ------------------------------------------------- */
        html[data-theme="dark"] .cfx-count { background: var(--cbp-chip) !important; color: var(--cbp-body) !important; }
        html[data-theme="dark"] .cfx-vin { color: var(--cbp-ink) !important; }

        /* ---- Odds and ends the sweep named ---------------------------------------- */
        html[data-theme="dark"] .auth-check a span { color: var(--cbp-link) !important; }
        html[data-theme="dark"] .dp-btn-ghost { color: var(--cbp-red-t) !important; }

        /* ---- The public pages (.lp-*, .cbp-cta, .ann-*) ---------------------------
           A visitor who has the site in night mode reaches these before they sign in,
           so they are part of the theme, not outside it. */
        html[data-theme="dark"] .lp-info-ic,
        html[data-theme="dark"] .lp-svc-more span { background: var(--cbp-surface-2) !important; color: var(--cbp-body) !important; }
        html[data-theme="dark"] .lp-map { background: var(--cbp-surface) !important; }
        html[data-theme="dark"] .lp-map-open { background: var(--cbp-surface-2) !important; color: var(--cbp-ink) !important; border-color: var(--cbp-line) !important; }
        html[data-theme="dark"] .lp-article-wrap { background: var(--cbp-bg) !important; }
        html[data-theme="dark"] .lp-article { background: var(--cbp-surface) !important; border-color: var(--cbp-line) !important; color: var(--cbp-body) !important; }
        html[data-theme="dark"] .lp-article :is(h1,h2,h3,h4) { color: var(--cbp-ink) !important; }
        html[data-theme="dark"] .lp-empty-pub { background: var(--cbp-surface) !important; border-color: var(--cbp-line) !important; color: var(--cbp-muted-t) !important; }
        /* The brand red carries white by design; it was reading 4.41 against a 4.5 bar,
           which is a rounding argument rather than a real one. Nudged, not repainted. */
        html[data-theme="dark"] .lp-btn-primary,
        html[data-theme="dark"] .lp-svc-num { color: #fff !important; }
        html[data-theme="dark"] .cbp-cta { color: #fff !important; }
        html[data-theme="dark"] .ann-toast-x { color: var(--cbp-body) !important; }

        /* ---- Colours written into the tag itself ---------------------------------- */
        html[data-theme="dark"] [style*="color:#1a7fca"], html[data-theme="dark"] [style*="color: #1a7fca"],
        html[data-theme="dark"] [style*="color:#0047b2"], html[data-theme="dark"] [style*="color: #0047b2"],
        html[data-theme="dark"] [style*="color:blue"],    html[data-theme="dark"] [style*="color: blue"] { color: var(--cbp-link) !important; }
        html[data-theme="dark"] [style*="color:#000"], html[data-theme="dark"] [style*="color: #000"],
        html[data-theme="dark"] [style*="color:black"], html[data-theme="dark"] [style*="color: black"] { color: var(--cbp-ink) !important; }
        html[data-theme="dark"] [style*="color:red"], html[data-theme="dark"] [style*="color: red"],
        html[data-theme="dark"] [style*="color:#ff0000"], html[data-theme="dark"] [style*="color: #ff0000"] { color: var(--cbp-red-t) !important; }
        html[data-theme="dark"] [style*="color:green"], html[data-theme="dark"] [style*="color: green"],
        html[data-theme="dark"] [style*="color:#008000"], html[data-theme="dark"] [style*="color: #008000"] { color: var(--cbp-green-t) !important; }
        html[data-theme="dark"] [style*="background:#f0ad4e"], html[data-theme="dark"] [style*="background: #f0ad4e"],
        html[data-theme="dark"] [style*="background-color:#f0ad4e"], html[data-theme="dark"] [style*="background-color: #f0ad4e"] { background: #8b6623 !important; color: #fbf6ee !important; }
        html[data-theme="dark"] [style*="background:#009688"], html[data-theme="dark"] [style*="background: #009688"],
        html[data-theme="dark"] [style*="background-color:#009688"], html[data-theme="dark"] [style*="background-color: #009688"] { background: #16564f !important; color: #eafaf7 !important; }
    