/* ============================================================================
 * radar-dark.css — Radar DARK theme (market.ai report.php parity)
 * ----------------------------------------------------------------------------
 * Authoritative blueprint: radar/DARK_THEME_SPEC.md
 * Source of truth for tokens/components: market.ai/front/report.php (lines
 * 471-988), market.ai/report/render.php (color tokens), market.ai/src/php/
 * preloader2.php (tile preloader).
 *
 * SCOPE: every selector is prefixed with `html[data-theme="dark"]` so this
 * sheet is purely additive — light mode is the untouched default until
 * theme.js sets the attribute. Because radar's pages load Tailwind Play
 * (assets/vendor/tailwind.play.js) AND inline page CSS, the `html[...]`
 * prefix raises specificity high enough to win over Tailwind utilities and
 * the page CSS — PROVIDED THIS SHEET LOADS AFTER the page CSS (link order
 * documented at the bottom of the Wire phase notes).
 *
 * Accent discipline: ONE accent — #dee073 — at a descending opacity ramp.
 * No second hue. Greens/ambers/reds appear ONLY as semantic status colors.
 * ========================================================================== */

/* ============================================================================
 * 1. DESIGN TOKENS
 * Scoped to the <html data-theme="dark"> root (theme.js sets this default).
 * ========================================================================== */
html[data-theme="dark"] {
  /* ---- Accent (the one yellow, used at varying opacity) ---- */
  --d-accent:             #dee073;                 /* primary accent, rgb(222,224,115) */
  --d-accent-rgb:         222, 224, 115;           /* for rgba() composition */
  --d-accent-soft:        rgba(222,224,115,0.45);  /* focus borders */
  --d-accent-hairline:    rgba(222,224,115,0.70);  /* gradient-hairline center stop */
  --d-accent-tab-bg:      rgba(222,224,115,0.14);  /* active tab fill */
  --d-accent-tab-line:    rgba(222,224,115,0.42);  /* active tab inset border */
  --d-accent-win-bg:      rgba(222,224,115,0.12);  /* active window-chip fill */
  --d-accent-win-line:    rgba(222,224,115,0.34);  /* active window-chip inset border */
  --d-accent-glow:        rgba(222,224,115,0.60);  /* hover dot glow */
  --d-accent-h2:          #f9c74f;                 /* legacy h2 heading yellow */
  --d-accent-ink:         #1c1c1a;                 /* text/icon on a yellow fill */

  /* ---- Backgrounds ---- */
  --d-bg:                 #1f1f1c;                          /* body fallback (near-black) */
  --d-bg-gradient:        linear-gradient(to bottom, #000, #1a1a1a); /* body gradient */
  --d-bg-deep:            #252525;                          /* chart / deepest surface */
  --d-bg-overlay:         rgba(15,15,13,0.82);              /* modal scrim */
  /* Full page background: gold + offset white dot grids (fixed) over the page gradient over the base color.
     Used by every body rule so the dotted texture is consistent and has no stacking impact. */
  --d-body-bg:
    radial-gradient(rgba(222,224,115,0.05) 1px, transparent 1.7px) 0 0 / 22px 22px fixed,
    radial-gradient(rgba(255,255,255,0.05) 1px, transparent 1.7px) 11px 11px / 22px 22px fixed,
    var(--d-bg-gradient) 0 0 / 100% 100% fixed,
    var(--d-bg);

  /* ---- Surfaces (cards / panels) ---- */
  --d-surface-solid:      #3f3f3f;                          /* flat surface */
  --d-surface-grad:       rgba(255,255,255,0.055);          /* FLAT card/panel surface (no tall grey->dark gradient) */
  --d-surface-grad-hover: rgba(255,255,255,0.09);           /* flat hover surface */
  --d-surface-glass:      rgba(255,255,255,0.10);           /* tag-cloud glass */
  --d-surface-low:        rgba(255,255,255,0.04);           /* nested tile (light surface-low parity) */
  --d-surface-lower:      rgba(255,255,255,0.06);           /* nested-tile hover */
  --d-control-bg:         rgba(0,0,0,0.22);                 /* inputs / selects */
  --d-tab-track:          rgba(255,255,255,0.035);          /* tab container */
  --d-win-track:          rgba(255,255,255,0.025);          /* window-selector container */
  --d-chip-bg:            rgba(255,255,255,0.025);          /* meta pill */

  /* ---- Borders / dividers ---- */
  --d-border-solid:       #5e5d5d;                          /* hard border */
  --d-border-glass:       rgba(255,255,255,0.06);           /* card glass border */
  --d-border-input:       rgba(255,255,255,0.08);           /* input border */
  --d-border-faint:       rgba(255,255,255,0.05);           /* row separators */

  /* ---- Text ---- */
  --d-text:               #f1efe8;   /* primary off-white (headings, counts) */
  --d-text-2:             #d4d1c8;   /* secondary body text */
  --d-text-3:             #b2afa6;   /* tertiary / descriptions */
  --d-text-muted:         #8c897f;   /* fine print, metadata, counts */
  --d-text-ticker:        #6b6960;   /* timestamps in mono ticker */

  /* ---- Status / sentiment ---- */
  --d-tone-neutral:       rgba(222,224,115,0.35);
  --d-tone-negative:      #e8a23a;   --d-tone-negative-glow: rgba(232,162,58,0.45);
  --d-tone-critical:      #e8553a;   --d-tone-critical-glow: rgba(232,85,58,0.55);
  --d-pos:                #6cc79b;   --d-pos-bg: #16352c;   /* high momentum */
  --d-warn:               #e0c46a;   --d-warn-bg: #352d13;  /* mid momentum */
  --d-neg:                #d4836f;   --d-neg-bg: #351d1b;   /* low momentum */

  /* ---- Gradients (accent) ---- */
  --d-hairline:           linear-gradient(90deg, transparent, rgba(222,224,115,0.70), transparent);
  --d-heatbar:            linear-gradient(90deg, rgba(222,224,115,0.40), #dee073);
  --d-rail:               rgba(255,255,255,0.06);  /* heat-bar rail */

  /* ---- Effects ---- */
  --d-blur:               blur(6px);
  --d-shadow-card:        0 8px 32px rgba(0,0,0,0.30);
  --d-shadow-btn:         0 2px 8px rgba(0,0,0,0.30);
  --d-radius:             14px;   --d-radius-sm: 10px;   --d-radius-pill: 999px;
  --d-font:               'Roboto', sans-serif;
  --d-font-mono:          ui-monospace, "SF Mono", Menlo, monospace;
}

/* ============================================================================
 * 2. FOUNDATION — body, scrollbars, selection, fonts
 * ========================================================================== */
/* Dot texture lives in the BODY BACKGROUND (not a ::before overlay) so it has
   ZERO impact on stacking — the fixed nav (z-50) and in-page tab bars keep
   their own z-index. Layers: gold dot grid + offset white dot grid + page
   gradient, all over the near-black base. Dots are fixed so they don't scroll. */
html[data-theme="dark"] body {
  background: var(--d-body-bg) !important;
  color: var(--d-text);
  font-family: var(--d-font);
}

/* Roboto under dark only — light pages keep Inter/Manrope */
html[data-theme="dark"] body,
html[data-theme="dark"] .d-card,
html[data-theme="dark"] .d-input { font-family: 'Roboto', sans-serif; }

/* Scrollbars */
html[data-theme="dark"] ::-webkit-scrollbar { width: 8px; height: 8px; }
html[data-theme="dark"] ::-webkit-scrollbar-track { background: transparent; }
html[data-theme="dark"] ::-webkit-scrollbar-thumb {
  background: rgba(222,224,115,0.22); border-radius: 4px;
}
html[data-theme="dark"] ::-webkit-scrollbar-thumb:hover { background: rgba(222,224,115,0.40); }
html[data-theme="dark"] * { scrollbar-color: rgba(222,224,115,0.30) transparent; scrollbar-width: thin; }

/* Text selection */
html[data-theme="dark"] ::selection { background: rgba(222,224,115,0.28); color: var(--d-text); }

/* Generic link tint */
html[data-theme="dark"] a { color: var(--d-text-2); }
html[data-theme="dark"] a:hover { color: var(--d-accent); }

/* ============================================================================
 * 3. SIGNATURE — reusable yellow gradient-hairline
 * Apply `.d-hairline-host` (the host needs position:relative) OR rely on the
 * per-component ::before rules below. The hairline sits 1px ABOVE the border
 * (top:-1px), inset from the sides, transparent -> yellow -> transparent.
 * ========================================================================== */
html[data-theme="dark"] .d-hairline-host { position: relative; }
html[data-theme="dark"] .d-hairline-host::before,
html[data-theme="dark"] .d-hairline::before {
  content: ""; position: absolute; top: -1px; left: 18px; right: 18px;
  height: 1px; pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(222,224,115,0.7), transparent);
  opacity: 0.55;
}

/* ============================================================================
 * 4. GENERIC COMPONENT VOCABULARY (.d-*) — used by Wire phase + JS-rendered nodes
 * ========================================================================== */

/* ---- Card / panel ---- */
html[data-theme="dark"] .d-card {
  position: relative;
  background: var(--d-surface-grad);
  border: 1px solid var(--d-border-glass);
  border-radius: var(--d-radius);
  padding: 22px 22px 18px;
  backdrop-filter: var(--d-blur); -webkit-backdrop-filter: var(--d-blur);
  transition: border-color .25s ease, transform .25s ease, background .25s ease;
}
html[data-theme="dark"] .d-card::before {
  content: ""; position: absolute; top: -1px; left: 18px; right: 18px; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(222,224,115,0.7), transparent);
  opacity: 0.55; pointer-events: none;
}
html[data-theme="dark"] .d-card:hover {
  border-color: rgba(222,224,115,0.35);
  transform: translateY(-2px);
  background: var(--d-surface-grad-hover);
}

html[data-theme="dark"] .d-panel {
  position: relative; max-width: 720px; margin: 0 auto;
  background: var(--d-surface-grad);
  border: 1px solid var(--d-border-glass);
  border-radius: var(--d-radius);
  padding: 26px 28px 22px;
  backdrop-filter: var(--d-blur); -webkit-backdrop-filter: var(--d-blur);
}
html[data-theme="dark"] .d-panel::before {
  content: ""; position: absolute; top: -1px; left: 22px; right: 22px; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(222,224,115,0.7), transparent);
  pointer-events: none;
}

html[data-theme="dark"] .card,
html[data-theme="dark"] .d-card-flat {
  background-color: var(--d-surface-solid);
  border: 1px solid var(--d-border-solid);
  border-radius: 5px;
  color: var(--d-text);
}
html[data-theme="dark"] .chart-container,
html[data-theme="dark"] .r-chart-wrap canvas {
  background-color: var(--d-bg-deep);
}

/* ---- Buttons ---- */
html[data-theme="dark"] .d-btn {
  background: var(--d-accent); color: var(--d-accent-ink);
  font-family: var(--d-font); font-weight: 700; font-size: 14px;
  padding: 12px 22px; border: 0; border-radius: var(--d-radius-sm);
  cursor: pointer; letter-spacing: 0.3px; transition: transform .15s ease;
}
html[data-theme="dark"] .d-btn:hover    { transform: translateY(-1px); }
html[data-theme="dark"] .d-btn:disabled { opacity: .5; cursor: not-allowed; transform: none; }

html[data-theme="dark"] .d-btn-pill {
  background: var(--d-accent); color: var(--d-accent-ink); font-weight: 700; font-size: 13px;
  padding: 7px 14px; border: 0; border-radius: var(--d-radius-pill);
  box-shadow: var(--d-shadow-btn); cursor: pointer;
}

html[data-theme="dark"] .d-btn-ghost {
  position: relative; z-index: 0; overflow: hidden; cursor: pointer;
  background: transparent; color: #e8e6df; border: none; border-radius: 9px;
  padding: 12px 26px; font-family: var(--d-font); font-size: 13px; font-weight: 600;
  letter-spacing: .6px; text-transform: uppercase; transition: color .2s, transform .15s;
}
html[data-theme="dark"] .d-btn-ghost:hover { color: var(--d-accent); transform: translateY(-1px); }
html[data-theme="dark"] .d-btn-ghost::before {
  content: ""; position: absolute; z-index: -2; left: 50%; top: 50%;
  width: 240%; height: 480%; transform: translate(-50%,-50%); background: #3a3a31;
}
html[data-theme="dark"] .d-btn-ghost::after {
  content: ""; position: absolute; z-index: -1; inset: 2px; border-radius: 7px; background: #23231f;
}
html[data-theme="dark"] .d-btn-ghost.is-running::before {
  background: conic-gradient(from 0deg, #23231f 0deg, #dee073 70deg, #fff6b0 100deg,
                             #dee073 130deg, #23231f 220deg, #23231f 360deg);
  animation: dr-border-spin 3s linear infinite;
}
@keyframes dr-border-spin { from { transform: translate(-50%,-50%) rotate(0); } to { transform: translate(-50%,-50%) rotate(360deg); } }

/* ---- Tabs + window chips ---- */
html[data-theme="dark"] .d-tabs {
  display: inline-flex; gap: 4px; padding: 5px;
  background: var(--d-tab-track); border: 1px solid var(--d-border-glass); border-radius: 12px;
}
html[data-theme="dark"] .d-tab {
  display: flex; flex-direction: column; align-items: center; gap: 2px;
  padding: 8px 18px; min-width: 110px; background: transparent; border: 0; cursor: pointer;
  border-radius: 8px; color: var(--d-text-3); font-family: var(--d-font); transition: all .18s ease;
}
html[data-theme="dark"] .d-tab:hover:not(.is-active) { color: var(--d-text); background: rgba(255,255,255,0.04); }
html[data-theme="dark"] .d-tab.is-active {
  background: var(--d-accent-tab-bg); color: var(--d-text);
  box-shadow: inset 0 0 0 1px var(--d-accent-tab-line);
}
html[data-theme="dark"] .d-tab.is-disabled { opacity: .32; cursor: not-allowed; }

html[data-theme="dark"] .d-wins {
  display: inline-flex; gap: 2px; padding: 3px;
  background: var(--d-win-track); border: 1px solid var(--d-border-faint); border-radius: 9px;
}
html[data-theme="dark"] .d-win {
  background: transparent; border: 0; cursor: pointer; padding: 6px 12px;
  border-radius: 6px; font-family: var(--d-font); font-weight: 600; font-size: 12px;
  letter-spacing: .3px; color: var(--d-text-muted); transition: all .15s ease;
}
html[data-theme="dark"] .d-win:hover:not(.is-active) { color: var(--d-text-2); background: rgba(255,255,255,0.04); }
html[data-theme="dark"] .d-win.is-active {
  color: var(--d-text); background: var(--d-accent-win-bg);
  box-shadow: inset 0 0 0 1px var(--d-accent-win-line);
}

/* ---- Inputs / selects ---- */
html[data-theme="dark"] .d-input,
html[data-theme="dark"] input[type="text"],
html[data-theme="dark"] input[type="search"],
html[data-theme="dark"] input[type="number"],
html[data-theme="dark"] input[type="email"],
html[data-theme="dark"] textarea {
  background: var(--d-control-bg); color: var(--d-text);
  border: 1px solid var(--d-border-input); border-radius: var(--d-radius-sm);
  font-family: var(--d-font); transition: border-color .18s ease;
}
html[data-theme="dark"] .d-input { width: 100%; padding: 14px 16px; font-size: 15px; }
html[data-theme="dark"] .d-input:focus,
html[data-theme="dark"] input[type="text"]:focus,
html[data-theme="dark"] input[type="search"]:focus,
html[data-theme="dark"] input[type="number"]:focus,
html[data-theme="dark"] textarea:focus { outline: 0; border-color: var(--d-accent-soft); }
html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder { color: var(--d-text-muted); }
html[data-theme="dark"] .d-select,
html[data-theme="dark"] select {
  padding: 9px 12px; background: var(--d-control-bg); color: var(--d-text);
  border: 1px solid var(--d-border-input); border-radius: 8px; font-family: var(--d-font); font-size: 13.5px;
}
html[data-theme="dark"] select option { background: #252523; color: var(--d-text); }

/* ---- Status dots + heat bar ---- */
html[data-theme="dark"] .d-dot { width: 8px; height: 8px; border-radius: 50%; display: inline-block; }
html[data-theme="dark"] .d-dot.neutral  { background: var(--d-tone-neutral); }
html[data-theme="dark"] .d-dot.negative { background: var(--d-tone-negative); box-shadow: 0 0 6px var(--d-tone-negative-glow); }
html[data-theme="dark"] .d-dot.critical { background: var(--d-tone-critical); box-shadow: 0 0 7px var(--d-tone-critical-glow); }
html[data-theme="dark"] .d-heat-rail { height: 6px; width: 100%; background: var(--d-rail); border-radius: 3px; overflow: hidden; }
html[data-theme="dark"] .d-heat-bar  { height: 100%; width: var(--w,100%); background: var(--d-heatbar); border-radius: 3px; }

/* ---- Typography helpers ---- */
html[data-theme="dark"] .d-title {
  font-family: 'Roboto', sans-serif; font-weight: 900; font-size: 38px;
  color: var(--d-text); letter-spacing: -.5px; line-height: 1.05; text-shadow: 0 2px 24px rgba(0,0,0,.6);
}
html[data-theme="dark"] .d-eyebrow {
  font-weight: 600; font-size: 11px; letter-spacing: 3.2px; color: var(--d-accent); opacity: .85;
}
@media (max-width: 760px) { html[data-theme="dark"] .d-title { font-size: 28px; } }

/* ---- Effects ---- */
html[data-theme="dark"] .d-pulse {
  display: inline-block; width: 8px; height: 8px; border-radius: 50%;
  background: var(--d-accent); animation: ht-pulse 2.2s infinite cubic-bezier(.4,0,.6,1);
}
@keyframes ht-pulse {
  0%   { box-shadow: 0 0 0 0    rgba(222,224,115,.55); }
  70%  { box-shadow: 0 0 0 10px rgba(222,224,115,0); }
  100% { box-shadow: 0 0 0 0    rgba(222,224,115,0); }
}
html[data-theme="dark"] .d-skel-line {
  height: 12px; border-radius: 4px; margin: 10px 0;
  background: linear-gradient(90deg, rgba(255,255,255,.05), rgba(255,255,255,.1), rgba(255,255,255,.05));
  background-size: 200% 100%; animation: ht-shimmer 1.5s infinite linear;
}
@keyframes ht-shimmer { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }
html[data-theme="dark"] .d-grid {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(320px,1fr)); gap: 20px; margin-top: 26px;
}
@media (max-width: 760px) { html[data-theme="dark"] .d-grid { grid-template-columns: 1fr; gap: 14px; } }
@keyframes ht-rise { to { opacity: 1; transform: translateY(0); } }
@keyframes ht-fill { to { width: var(--w,100%); } }

/* ============================================================================
 * 5. SHARED NAV (src/php/shared-nav.php) — restyle, NOT invert.
 * shared-nav is Tailwind-class-based: <nav class="fixed top-0 ...
 * bg-[#fcf9f4]/85 ...">. We target nav.fixed and its descendants. Tailwind
 * arbitrary utilities (text-[#705d00], bg-[#705d00], from-/to-) are beaten by
 * the html[data-theme] prefix here, given this sheet loads after the page.
 * ========================================================================== */
html[data-theme="dark"] nav.fixed,
html[data-theme="dark"] nav.top_nav,
html[data-theme="dark"] .topnav {
  background: rgba(20,20,18,0.85) !important;
  backdrop-filter: blur(8px) !important; -webkit-backdrop-filter: blur(8px) !important;
  border-bottom: 1px solid var(--d-border-glass) !important;
}
/* Brand: "Companies" overline + "RADAR" plaque */
html[data-theme="dark"] nav.fixed .rdr-brand-over { color: var(--d-accent) !important; }
html[data-theme="dark"] nav.fixed .rdr-brand-mark {
  background: #000 !important; color: #fff !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.16);
}
/* Brand square mark */
html[data-theme="dark"] nav.fixed a > div.bg-\[\#705d00\] { background: var(--d-accent) !important; }
html[data-theme="dark"] nav.fixed a > div.bg-\[\#705d00\] .material-symbols-outlined { color: var(--d-accent-ink) !important; }
/* "Intelligence" overline */
html[data-theme="dark"] nav.fixed .text-\[\#705d00\] { color: var(--d-accent) !important; }
/* Nav tab links (inactive + active) */
html[data-theme="dark"] nav.fixed a { color: rgba(241,239,232,0.55) !important; }
html[data-theme="dark"] nav.fixed a:hover { color: var(--d-accent) !important; }
html[data-theme="dark"] nav.fixed a.border-\[\#705d00\],
html[data-theme="dark"] nav.fixed a.text-\[\#705d00\] {
  color: var(--d-accent) !important; border-bottom-color: var(--d-accent) !important;
}
/* Sign In ghost link */
html[data-theme="dark"] nav.fixed a#nav-signin { color: rgba(241,239,232,0.60) !important; }
html[data-theme="dark"] nav.fixed a#nav-signin:hover { color: var(--d-accent) !important; }
/* "Get Pro" gradient CTA -> flat accent */
html[data-theme="dark"] nav.fixed a#nav-get-pro {
  background: var(--d-accent) !important; background-image: none !important;
  color: var(--d-accent-ink) !important; box-shadow: var(--d-shadow-btn) !important;
}
/* Dashboard CTA */
html[data-theme="dark"] nav.fixed a#nav-dashboard-cta {
  background: var(--d-accent-tab-bg) !important; color: var(--d-text) !important;
  box-shadow: inset 0 0 0 1px var(--d-accent-tab-line) !important;
}
html[data-theme="dark"] nav.fixed a#nav-dashboard-cta:hover { background: var(--d-accent-win-bg) !important; }
/* Theme-toggle button (optional, injected by Wire phase) */
html[data-theme="dark"] nav.fixed .radar-theme-toggle {
  background: var(--d-chip-bg); color: var(--d-text-3);
  border: 1px solid var(--d-border-glass); border-radius: var(--d-radius-pill);
  padding: 6px; cursor: pointer; display: inline-flex; align-items: center;
}
html[data-theme="dark"] nav.fixed .radar-theme-toggle:hover { color: var(--d-accent); border-color: var(--d-accent-soft); }

/* ============================================================================
 * 6. SEARCH PAGE — sidebar (.sb-*), result cards, smart box
 * Selectors enumerated from search.php inline <style> (lines ~540-820).
 * ========================================================================== */

/* ---- Sidebar shell ---- */
html[data-theme="dark"] aside#filteration_panel_company {
  background: var(--d-surface-grad) !important;
  border-right: 1px solid var(--d-border-glass) !important;
  backdrop-filter: var(--d-blur); -webkit-backdrop-filter: var(--d-blur);
  color: var(--d-text-2);
}
html[data-theme="dark"] #filteration_panel_company::-webkit-scrollbar-thumb { background: rgba(222,224,115,0.22); }

/* ---- Sidebar labels / reset ---- */
html[data-theme="dark"] .sb-section-label,
html[data-theme="dark"] .sb-sub-label { color: var(--d-text-muted); }
html[data-theme="dark"] .sb-reset-btn { color: var(--d-accent); }

/* ---- Sidebar search input ---- */
html[data-theme="dark"] .sb-search-wrap { background: var(--d-control-bg); }
html[data-theme="dark"] .sb-search-input { color: var(--d-text); }
html[data-theme="dark"] .sb-search-input::placeholder { color: var(--d-text-muted); }
html[data-theme="dark"] .sb-search-icon { color: var(--d-text-muted); }

/* ---- Sidebar results dropdown ---- */
html[data-theme="dark"] .sb-results-drop {
  background: #1c1c1a; border: 1px solid var(--d-border-glass); border-top: none; color: var(--d-text-2);
}
html[data-theme="dark"] .sb-results-drop .btn,
html[data-theme="dark"] .sb-results-drop > button,
html[data-theme="dark"] .sb-results-drop > a,
html[data-theme="dark"] .sb-results-drop > div { color: var(--d-text-2); }
html[data-theme="dark"] .sb-results-drop .btn:hover,
html[data-theme="dark"] .sb-results-drop > button:hover,
html[data-theme="dark"] .sb-results-drop > a:hover,
html[data-theme="dark"] .sb-results-drop > div:hover { background: rgba(255,255,255,0.05); }

/* ---- Applied note ---- */
html[data-theme="dark"] .sb-applied-note { color: var(--d-accent); }

/* ---- Pills ---- */
html[data-theme="dark"] .sb-pill {
  background: var(--d-chip-bg); color: var(--d-text-2); border: 1px solid var(--d-border-glass);
}
html[data-theme="dark"] .sb-pill:hover { background: rgba(255,255,255,0.06); }
html[data-theme="dark"] .sb-pill.sb-pill-active {
  background: var(--d-accent-tab-bg); color: var(--d-text);
  box-shadow: inset 0 0 0 1px var(--d-accent-tab-line); border-color: transparent;
}
/* Added (selected) chips reuse accent fill */
html[data-theme="dark"] .sb-added-chips .btn {
  background: var(--d-accent) !important; color: var(--d-accent-ink) !important;
}

/* ---- Accordion ---- */
html[data-theme="dark"] .sb-acc-wrap { border-top: 1px solid var(--d-border-glass); }
html[data-theme="dark"] .sb-acc-head { color: var(--d-text-2); }
html[data-theme="dark"] .sb-acc-head:hover { color: var(--d-accent); }
html[data-theme="dark"] .sb-acc-icon { color: var(--d-text-muted); }

/* ---- Year / number inputs, checkbox rows ---- */
html[data-theme="dark"] .sb-year-input,
html[data-theme="dark"] .ps-num-input { background: var(--d-control-bg); color: var(--d-text); }
html[data-theme="dark"] .sb-year-input:focus,
html[data-theme="dark"] .ps-num-input:focus { box-shadow: 0 0 0 2px var(--d-accent-soft); }
html[data-theme="dark"] .sb-check-row { color: var(--d-text-2); }
html[data-theme="dark"] .sb-check-row:hover span { color: var(--d-accent); }
html[data-theme="dark"] .sb-check-row input[type=checkbox] { accent-color: var(--d-accent); }

/* ---- PRO badge ---- */
html[data-theme="dark"] .sb-pro-badge { background: var(--d-accent); color: var(--d-accent-ink); }

/* ---- Select-as-filter ---- */
html[data-theme="dark"] .sb-select {
  background-color: var(--d-control-bg); color: var(--d-text);
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23dee073' stroke-width='2'><polyline points='6 9 12 15 18 9'/></svg>");
  background-repeat: no-repeat; background-position: right 10px center; background-size: 12px;
  padding-right: 30px;
  -webkit-appearance: none; -moz-appearance: none; appearance: none;
}
html[data-theme="dark"] .sb-select:focus { box-shadow: 0 0 0 2px var(--d-accent-soft); }

/* ---- Apply / Near Me buttons ---- */
html[data-theme="dark"] .sb-apply-btn {
  background: var(--d-accent); color: var(--d-accent-ink); border: 0;
}
html[data-theme="dark"] .sb-apply-btn:hover { background: #e9ea9a; }
html[data-theme="dark"] .sb-near-btn {
  background: var(--d-chip-bg); color: var(--d-text-2); border: 1px solid var(--d-border-glass);
}
html[data-theme="dark"] .sb-near-btn:hover { background: rgba(255,255,255,0.06); }

/* ---- #ps-sort-select (people toolbar) lives on search too ---- */
html[data-theme="dark"] #ps-sort-select {
  background-color: var(--d-control-bg); color: var(--d-text); border: 1.5px solid var(--d-border-input);
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23dee073' stroke-width='2'><polyline points='6 9 12 15 18 9'/></svg>");
  background-repeat: no-repeat; background-position: right 10px center; background-size: 12px;
  padding-right: 30px;
  -webkit-appearance: none; -moz-appearance: none; appearance: none;
}

/* ---- Result cards (.result_boxes_companies + .radar-card-*) ---- */
html[data-theme="dark"] .result_boxes_companies {
  position: relative;
  background: var(--d-surface-grad) !important;
  border: 1px solid var(--d-border-glass) !important;
  box-shadow: var(--d-shadow-card) !important;
  backdrop-filter: var(--d-blur); -webkit-backdrop-filter: var(--d-blur);
  margin: 0 0 18px 0 !important;
  transition: border-color .25s ease, transform .25s ease, background .25s ease, box-shadow .25s ease !important;
}
html[data-theme="dark"] .result_boxes_companies::before {
  content: ""; position: absolute; top: -1px; left: 18px; right: 18px; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(222,224,115,0.7), transparent);
  opacity: 0.55; pointer-events: none; z-index: 2;
}
html[data-theme="dark"] .result_boxes_companies:hover {
  border-color: rgba(222,224,115,0.35) !important;
  background: var(--d-surface-grad-hover) !important;
  box-shadow: 0 10px 36px rgba(0,0,0,0.40) !important;
  transform: translateY(-2px) !important;
}
html[data-theme="dark"] .result_boxes_companies .professional_heading,
html[data-theme="dark"] .radar-card-name,
html[data-theme="dark"] .professional_heading { color: var(--d-text) !important; }
html[data-theme="dark"] .result_boxes_companies .jost,
html[data-theme="dark"] .radar-card-body { color: var(--d-text-3) !important; }
html[data-theme="dark"] .result_boxes_companies .jost[style*="10bdb5"] { color: var(--d-accent) !important; }
html[data-theme="dark"] .result_boxes_companies .gradient_border {
  border: 1.5px solid var(--d-border-glass) !important; background: #2a2a28 !important;
}
html[data-theme="dark"] .result_boxes_companies .jost.hover {
  background: var(--d-chip-bg) !important; color: var(--d-text-2) !important; border: 1px solid var(--d-border-glass) !important;
}

/* ---- Smart search box (#nav_smart_box / #smart_query_box / #smart_submit_btn) ---- */
html[data-theme="dark"] #nav_smart_box #smart_query_box {
  background: var(--d-control-bg) !important; color: var(--d-text) !important;
  border: 1px solid var(--d-border-input) !important;
}
html[data-theme="dark"] #nav_smart_box #smart_query_box::placeholder { color: var(--d-text-muted) !important; }
html[data-theme="dark"] #nav_smart_box #smart_query_box:focus { border-color: var(--d-accent-soft) !important; }
html[data-theme="dark"] #nav_smart_box #smart_submit_btn {
  background: var(--d-accent) !important; color: var(--d-accent-ink) !important; background-image: none !important;
}
html[data-theme="dark"] #nav_smart_box #smart_submit_btn:hover { background: #e9ea9a !important; }
html[data-theme="dark"] .smart-input-box {
  background: var(--d-control-bg); color: var(--d-text); border: 2px solid var(--d-accent-soft);
}
html[data-theme="dark"] .smart-input-box:focus { box-shadow: 0 0 0 4px rgba(222,224,115,0.15); }
html[data-theme="dark"] .smart-greeting { color: var(--d-text); }
html[data-theme="dark"] .smart-greeting-sub { color: var(--d-text-3); }
html[data-theme="dark"] .smart-greeting-sub em { color: var(--d-accent); }

/* ---- Smart filter chips (.smart-chip*) ---- */
html[data-theme="dark"] .smart-chip-bar .smart-chip {
  background: var(--d-chip-bg); color: var(--d-text-2); border: 1px solid var(--d-border-glass);
}
html[data-theme="dark"] .smart-chip-bar .smart-chip:hover { background: rgba(255,255,255,0.06); }
html[data-theme="dark"] .smart-chip-bar .smart-chip-label { color: var(--d-text-3); }
html[data-theme="dark"] .smart-chip-bar .smart-chip-tag { color: var(--d-text-muted); }
html[data-theme="dark"] .smart-chip-bar .smart-chip-x { color: var(--d-text-muted); }
html[data-theme="dark"] .smart-chip-bar .smart-chip-sem {
  background: var(--d-accent-tab-bg); color: var(--d-accent); border-color: var(--d-accent-tab-line);
}
html[data-theme="dark"] .smart-chip-bar .smart-chip-sem .smart-chip-tag,
html[data-theme="dark"] .smart-chip-bar .smart-chip-sem .smart-chip-x { color: var(--d-accent); }
html[data-theme="dark"] .smart-sim-badge { background: var(--d-accent-tab-bg); color: var(--d-accent); }
html[data-theme="dark"] .smart-product-tag { background: var(--d-chip-bg); color: var(--d-text-2); }
html[data-theme="dark"] .smart-profile-link { color: var(--d-accent); }
html[data-theme="dark"] .smart-filter-hint {
  background: var(--d-surface-grad); border: 1px solid var(--d-border-glass); color: var(--d-text-2);
}

/* ============================================================================
 * 7. PEOPLE PAGE — person cards (.ps-*) + toolbar + drawer
 * Selectors enumerated from people-search.css.
 * ========================================================================== */

/* ---- Toolbar / counts ---- */
html[data-theme="dark"] .ps-results-count { color: var(--d-text); }
html[data-theme="dark"] .ps-sort-wrap label { color: var(--d-text-muted); }
html[data-theme="dark"] .ps-variant-tag { background: var(--d-chip-bg); color: var(--d-accent); }

/* ---- Entitlement notice (ID rule beats .hidden — preserve the trap) ---- */
html[data-theme="dark"] #ps-entitlement-notice {
  background: rgba(222,224,115,0.08); border: 1px solid var(--d-accent-tab-line); color: var(--d-text-2);
}
html[data-theme="dark"] #ps-entitlement-notice .material-symbols-outlined { color: var(--d-accent); }
html[data-theme="dark"] #ps-entitlement-notice a { color: var(--d-accent); }
html[data-theme="dark"] #ps-entitlement-notice .ps-ent-close { color: var(--d-text-muted); }
/* Keep the known ID+class specificity fix working under dark too. */
html[data-theme="dark"] #ps-entitlement-notice.hidden { display: none !important; }

/* ---- State cards ---- */
html[data-theme="dark"] .ps-state-card {
  background: var(--d-surface-grad); border: 1px dashed var(--d-border-glass);
}
html[data-theme="dark"] .ps-state-title { color: var(--d-text); }
html[data-theme="dark"] .ps-state-sub { color: var(--d-text-3); }

/* ---- Loading spinner (preserve ID+class hide trap) ---- */
html[data-theme="dark"] #ps-loading { color: var(--d-accent); }
html[data-theme="dark"] #ps-loading.hidden { display: none !important; }

/* ---- Filter autocomplete dropdown ---- */
html[data-theme="dark"] .ps-ac-drop {
  background: #1c1c1a; border: 1px solid var(--d-border-glass); border-top: none;
  box-shadow: 0 10px 26px rgba(0,0,0,0.45);
}
html[data-theme="dark"] .ps-ac-item { color: var(--d-text-2); border-bottom: 1px solid var(--d-border-faint); }
html[data-theme="dark"] .ps-ac-item:hover { background: rgba(255,255,255,0.05); }
html[data-theme="dark"] .ps-ac-item .material-symbols-outlined { color: var(--d-text-muted); }

/* ---- Person card (glass + hairline) ---- */
html[data-theme="dark"] .ps-card {
  position: relative;
  background: var(--d-surface-grad);
  border: 1px solid var(--d-border-glass);
  box-shadow: var(--d-shadow-card);
  backdrop-filter: var(--d-blur); -webkit-backdrop-filter: var(--d-blur);
  color: var(--d-text-2);
}
html[data-theme="dark"] .ps-card::before {
  content: ""; position: absolute; top: -1px; left: 18px; right: 18px; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(222,224,115,0.7), transparent);
  opacity: 0.55; pointer-events: none; z-index: 2;
}
html[data-theme="dark"] .ps-card:hover {
  border-color: rgba(222,224,115,0.35); background: var(--d-surface-grad-hover);
  box-shadow: 0 10px 36px rgba(0,0,0,0.40);
}
/* Compact variant: hairline inset matches tighter padding */
html[data-theme="dark"] .ps-card-compact::before { left: 14px; right: 14px; }

html[data-theme="dark"] .ps-avatar { background: #2a2a28; border: 2px solid #2f2f2c; }
html[data-theme="dark"] .ps-avatar-initials { border: 2px solid #2f2f2c; }
html[data-theme="dark"] .ps-name { color: var(--d-text); }
html[data-theme="dark"] .ps-headline { color: var(--d-text-2); }
html[data-theme="dark"] .ps-loc { color: var(--d-text-3); }
html[data-theme="dark"] .ps-loc .material-symbols-outlined { color: var(--d-text-muted); }
html[data-theme="dark"] .ps-summary { color: var(--d-text-2); }

/* Role badges — neutral chip base; semantic tints kept low-key on dark */
html[data-theme="dark"] .ps-role-badge { background: var(--d-chip-bg); color: var(--d-text-2); }
html[data-theme="dark"] .ps-role-founder   { background: rgba(224,196,106,0.15); color: var(--d-warn); }
html[data-theme="dark"] .ps-role-executive { background: rgba(108,199,155,0.12); color: var(--d-pos); }
html[data-theme="dark"] .ps-role-investor  { background: rgba(108,199,155,0.12); color: var(--d-pos); }
html[data-theme="dark"] .ps-role-board     { background: rgba(222,224,115,0.12); color: var(--d-accent); }

/* Score badge -> accent fill */
html[data-theme="dark"] .ps-score-badge { background: var(--d-accent); color: var(--d-accent-ink); }
html[data-theme="dark"] .ps-score-label { color: var(--d-accent-ink); opacity: 0.7; }

/* Skills / stats / credentials */
html[data-theme="dark"] .ps-skill-chip { background: var(--d-chip-bg); color: var(--d-text-2); }
html[data-theme="dark"] .ps-stat { background: var(--d-chip-bg); border: 1px solid var(--d-border-glass); color: var(--d-text-3); }
html[data-theme="dark"] .ps-stat b { color: var(--d-text); }
html[data-theme="dark"] .ps-edu,
html[data-theme="dark"] .ps-exp-row { color: var(--d-text-2); }
html[data-theme="dark"] .ps-edu .material-symbols-outlined,
html[data-theme="dark"] .ps-exp-row .material-symbols-outlined { color: var(--d-text-muted); }
html[data-theme="dark"] .ps-edu-yr { color: var(--d-text-muted); }

/* Card actions / CTAs */
html[data-theme="dark"] .ps-cta {
  background: var(--d-chip-bg); color: var(--d-text-2); border: 1px solid var(--d-border-glass);
}
html[data-theme="dark"] .ps-cta:hover { background: rgba(255,255,255,0.06); color: var(--d-accent); }
html[data-theme="dark"] .ps-cta-reveal { background: var(--d-accent); border-color: var(--d-accent); color: var(--d-accent-ink); }
html[data-theme="dark"] .ps-cta-reveal:hover { background: #e9ea9a; color: var(--d-accent-ink); }
html[data-theme="dark"] .ps-cta-active {
  background: var(--d-accent-tab-bg) !important; border-color: transparent !important; color: var(--d-text) !important;
  box-shadow: inset 0 0 0 1px var(--d-accent-tab-line);
}

/* Pagination */
html[data-theme="dark"] #ps-pagination { border-top: 1px solid var(--d-border-glass); }
html[data-theme="dark"] .ps-page-btn {
  background: var(--d-chip-bg); color: var(--d-text-2); border: 1px solid var(--d-border-glass);
}
html[data-theme="dark"] .ps-page-btn:hover:not(:disabled) { background: rgba(255,255,255,0.06); color: var(--d-accent); }
html[data-theme="dark"] .ps-page-info { color: var(--d-text-3); }
html[data-theme="dark"] #ps-filter-counter { background: var(--d-accent); color: var(--d-accent-ink); }

/* Shortlist drawer */
html[data-theme="dark"] #ps-shortlist-overlay { background: var(--d-bg-overlay); }
html[data-theme="dark"] #ps-shortlist-drawer {
  background: #1a1a18; color: var(--d-text-2); box-shadow: -12px 0 40px rgba(0,0,0,0.55);
}
html[data-theme="dark"] .ps-sl-head { border-bottom: 1px solid var(--d-border-glass); }
html[data-theme="dark"] .ps-sl-head h2 { color: var(--d-text); }
html[data-theme="dark"] #ps-shortlist-count { color: var(--d-text-3); }
html[data-theme="dark"] #ps-shortlist-close { color: var(--d-text-muted); }
html[data-theme="dark"] #ps-shortlist-close:hover { color: var(--d-accent); }
html[data-theme="dark"] .ps-sl-loading { color: var(--d-accent); }
html[data-theme="dark"] .ps-sl-row { background: var(--d-surface-grad); border: 1px solid var(--d-border-glass); }
html[data-theme="dark"] .ps-sl-name { color: var(--d-text); }
html[data-theme="dark"] .ps-sl-chip { background: var(--d-chip-bg); color: var(--d-accent); }
html[data-theme="dark"] .ps-sl-chip:hover { background: rgba(255,255,255,0.06); }
html[data-theme="dark"] .ps-sl-nocontact { color: var(--d-text-muted); }
html[data-theme="dark"] .ps-sl-foot { border-top: 1px solid var(--d-border-glass); }
html[data-theme="dark"] #ps-bulk-reveal-btn { background: var(--d-accent); color: var(--d-accent-ink); }
html[data-theme="dark"] #ps-bulk-reveal-btn:hover:not(:disabled) { background: #e9ea9a; }
html[data-theme="dark"] .ps-sl-foot-note { color: var(--d-text-muted); }

/* ============================================================================
 * 8. COMPANY PAGE — hero, tabs, cards, intel, earnings, market signals
 * company-inline.css uses :root --r-* tokens. We rebind those :root vars under
 * dark so the entire company-inline cascade re-tints automatically, then add
 * targeted overrides where a hardcoded color or white background needs help.
 * ========================================================================== */
html[data-theme="dark"] {
  --r-primary:           #dee073;
  --r-primary-soft:      #e9ea9a;
  --r-primary-container: #b9bb5a;
  --r-surface:           #1f1f1c;
  --r-surface-low:        rgba(255,255,255,0.04);
  --r-surface-lower:      rgba(255,255,255,0.07);
  --r-on-surface:        #f1efe8;
  --r-on-surface-muted:  #b2afa6;
  --r-tertiary:          #7fb5e6;
  --r-card-shadow:       0 8px 32px rgba(0,0,0,0.30);
  --r-card-shadow-hover: 0 16px 44px rgba(0,0,0,0.42);
}
/* company-inline sets html,body bg to var(--r-surface) directly; force gradient */
html[data-theme="dark"] body { background: var(--d-body-bg) !important; }

/* Hero */
html[data-theme="dark"] .r-hero {
  background: linear-gradient(135deg, #161614 0%, #050505 100%);
  border-bottom: 1px solid var(--d-border-glass);
}
html[data-theme="dark"] .r-hero-name { color: var(--d-text); }
html[data-theme="dark"] .r-hero-tagline,
html[data-theme="dark"] .r-hero-meta { color: var(--d-text-3); }
html[data-theme="dark"] .r-hero-logo { background: #2a2a28; box-shadow: var(--d-shadow-card); }
html[data-theme="dark"] .r-hero-cta-primary {
  background: var(--d-accent); background-image: none; color: var(--d-accent-ink);
  box-shadow: var(--d-shadow-btn);
}
html[data-theme="dark"] .r-hero-cta-primary:hover { background: #e9ea9a; box-shadow: 0 6px 16px rgba(0,0,0,0.4); }
html[data-theme="dark"] .r-hero-cta-ghost {
  background: var(--d-chip-bg); color: var(--d-accent); border: 1px solid var(--d-border-glass);
}
html[data-theme="dark"] .r-hero-cta-ghost:hover { background: rgba(255,255,255,0.06); }
html[data-theme="dark"] .r-hero-flag { background: var(--d-chip-bg); color: var(--d-text-2); box-shadow: none; border: 1px solid var(--d-border-glass); }
html[data-theme="dark"] .r-hero-flag .material-symbols-outlined { color: var(--d-accent); }
html[data-theme="dark"] .r-plan-badge { background: var(--d-accent-tab-bg); color: var(--d-accent); }
html[data-theme="dark"] .r-plan-badge.pro { background: var(--d-accent); color: var(--d-accent-ink); }
html[data-theme="dark"] .r-plan-badge.business { background: var(--d-surface-solid); color: var(--d-text); }

/* Tab bar (sticky) */
html[data-theme="dark"] .r-tabs-bar {
  background: rgba(20,20,18,0.92); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--d-border-glass);
}
html[data-theme="dark"] .r-tab { color: var(--d-text-muted); }
html[data-theme="dark"] .r-tab:hover { color: var(--d-accent); }
html[data-theme="dark"] .r-tab.active { color: var(--d-accent); border-bottom-color: var(--d-accent); }

/* Generic white-bg cards in company page -> glass surface */
html[data-theme="dark"] .r-card,
html[data-theme="dark"] .r-intel-card,
html[data-theme="dark"] .r-earning-stat-tile,
html[data-theme="dark"] .r-pulse-strip,
html[data-theme="dark"] .r-mkt-drawer {
  position: relative;
  background: var(--d-surface-grad);
  border: 1px solid var(--d-border-glass);
  box-shadow: var(--d-shadow-card);
  backdrop-filter: var(--d-blur); -webkit-backdrop-filter: var(--d-blur);
  color: var(--d-text-2);
}
html[data-theme="dark"] .r-card::before,
html[data-theme="dark"] .r-intel-card::before {
  content: ""; position: absolute; top: -1px; left: 20px; right: 20px; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(222,224,115,0.7), transparent);
  opacity: 0.5; pointer-events: none;
}
html[data-theme="dark"] .r-card h3,
html[data-theme="dark"] .r-intel-title,
html[data-theme="dark"] .r-fact-value,
html[data-theme="dark"] .r-mini-name,
html[data-theme="dark"] .r-comp-card-name { color: var(--d-text); }
html[data-theme="dark"] .r-card h4 { color: var(--d-text-muted); }

/* Facts / pills / mini cards */
html[data-theme="dark"] .r-fact,
html[data-theme="dark"] .r-pill,
html[data-theme="dark"] .r-mini,
html[data-theme="dark"] .r-comp-card,
html[data-theme="dark"] .r-mkt-tile { background: var(--d-surface-low); color: var(--d-text-2); }
html[data-theme="dark"] .r-mini:hover { background: var(--d-surface-lower); }
html[data-theme="dark"] .r-comp-card:hover { background: var(--d-surface-grad); box-shadow: var(--d-shadow-card); }
html[data-theme="dark"] .r-pill.gold { background: var(--d-accent); color: var(--d-accent-ink); }
html[data-theme="dark"] .r-pill.muted { background: transparent; color: var(--d-text-muted); border: 1px solid var(--d-border-glass); }
html[data-theme="dark"] .r-mini-logo,
html[data-theme="dark"] .r-comp-card-head .r-mini-logo { background: #2a2a28; }

/* Intel icon / scores */
html[data-theme="dark"] .r-intel-icon { background: rgba(222,224,115,0.14); }
html[data-theme="dark"] .r-intel-icon .material-symbols-outlined { color: var(--d-accent); }
html[data-theme="dark"] .r-intel-icon.risk { background: rgba(232,85,58,0.18); }
html[data-theme="dark"] .r-intel-icon.risk .material-symbols-outlined { color: var(--d-tone-critical); }
html[data-theme="dark"] .r-intel-score-num,
html[data-theme="dark"] .r-intel-readiness-num { color: var(--d-text); }
html[data-theme="dark"] .r-intel-score-num.high { color: var(--d-pos); }
html[data-theme="dark"] .r-intel-score-num.med  { color: var(--d-accent); }
html[data-theme="dark"] .r-intel-score-num.low  { color: var(--d-warn); }
html[data-theme="dark"] .r-intel-score-num.risk { color: var(--d-tone-critical); }
html[data-theme="dark"] .r-intel-bar { background: var(--d-rail); }
html[data-theme="dark"] .r-intel-bar-fill { background: var(--d-accent); }
html[data-theme="dark"] .r-intel-card.composite { background: var(--d-surface-grad); }
html[data-theme="dark"] .r-intel-readiness-tile { background: var(--d-surface-low); box-shadow: none; }

/* Pulse strip ring */
html[data-theme="dark"] .r-pulse-ring-bg { stroke: rgba(255,255,255,0.10); }
html[data-theme="dark"] .r-pulse-ring-fg { stroke: var(--d-accent); }
html[data-theme="dark"] .r-pulse-ring-num,
html[data-theme="dark"] .r-pulse-label.normal { color: var(--d-text); }
html[data-theme="dark"] .r-pulse-badge { background: var(--d-surface-low); color: var(--d-text-2); }
html[data-theme="dark"] .r-pulse-badge .material-symbols-outlined { color: var(--d-accent); }
html[data-theme="dark"] .r-pulse-fresh { border-top: 1px solid var(--d-border-glass); }

/* Upgrade banner */
html[data-theme="dark"] .r-upgrade {
  background: linear-gradient(135deg, rgba(222,224,115,0.16), rgba(222,224,115,0.05));
  box-shadow: var(--d-shadow-card);
}
html[data-theme="dark"] .r-upgrade-icon { background: rgba(0,0,0,0.25); color: var(--d-accent); }
html[data-theme="dark"] .r-upgrade-title,
html[data-theme="dark"] .r-upgrade-sub { color: var(--d-text); }
html[data-theme="dark"] .r-upgrade-cta { background: var(--d-accent); color: var(--d-accent-ink); }
html[data-theme="dark"] .r-upgrade-cta:hover { background: #e9ea9a; color: var(--d-accent-ink); }
html[data-theme="dark"] .r-lock-pill { background: var(--d-accent-tab-bg); color: var(--d-accent); }
html[data-theme="dark"] .r-locked > .r-locked-overlay {
  background: linear-gradient(180deg, rgba(0,0,0,0.35), rgba(222,224,115,0.10)); color: var(--d-accent);
}

/* Event timeline */
html[data-theme="dark"] .r-event { border-bottom: 1px solid var(--d-border-glass); }
html[data-theme="dark"] .r-event-date { color: var(--d-accent); }
html[data-theme="dark"] .r-event-label { background: var(--d-surface-low); color: var(--d-text-2); }
html[data-theme="dark"] .r-event-label.funding { background: var(--d-accent-tab-bg); color: var(--d-accent); }
html[data-theme="dark"] .r-event-headline { color: var(--d-text-2); }
/* Leadership-churn transition rows (Fix A) — amber instability accent. */
html[data-theme="dark"] .r-event.r-lead-transition {
  border-left: 3px solid #d6a44a;
  background: rgba(214,164,74,0.10);
}
html[data-theme="dark"] .r-event.r-lead-transition .r-event-label {
  background: rgba(214,164,74,0.20); color: #e6c483;
}

/* Tracker form */
html[data-theme="dark"] .r-tracker-form label { color: var(--d-text-muted); }
html[data-theme="dark"] .r-tracker-form input,
html[data-theme="dark"] .r-tracker-form select {
  background: var(--d-control-bg); color: var(--d-text); border: 1px solid var(--d-border-input);
}
html[data-theme="dark"] .r-tracker-form input:focus,
html[data-theme="dark"] .r-tracker-form select:focus { border-color: var(--d-accent-soft); }
html[data-theme="dark"] .r-tracker-form button { background: var(--d-accent); color: var(--d-accent-ink); }
html[data-theme="dark"] .r-tracker-form button:hover { background: #e9ea9a; }

/* Quota strip + toast */
html[data-theme="dark"] .r-quota-strip { background: #1c1c1a; color: var(--d-text-3); box-shadow: var(--d-shadow-card); }
html[data-theme="dark"] .r-quota-strip strong { color: var(--d-text); }
html[data-theme="dark"] .r-toast { background: #2a2a28; color: var(--d-text); }

/* Skeleton */
html[data-theme="dark"] .r-skel {
  background: linear-gradient(90deg, rgba(255,255,255,0.05), rgba(255,255,255,0.1), rgba(255,255,255,0.05));
  background-size: 200% 100%;
}

/* Earnings hero + tab */
html[data-theme="dark"] .r-earning-hero {
  background: linear-gradient(135deg, #1a1a17 0%, #131311 60%, #0c0c0a 100%);
  box-shadow: var(--d-shadow-card);
}
html[data-theme="dark"] .r-earning-hero::before {
  background: radial-gradient(circle at center, rgba(222,224,115,0.18), transparent 65%);
}
html[data-theme="dark"] .r-earning-hero-figure-num,
html[data-theme="dark"] .r-earning-stat-value,
html[data-theme="dark"] .r-earning-headline-score,
html[data-theme="dark"] .r-earning-snapshot-num { color: var(--d-text); }
html[data-theme="dark"] .r-earning-hero-yoy.up {
  background: var(--d-accent); background-image: none; color: var(--d-accent-ink); box-shadow: var(--d-shadow-btn);
}
html[data-theme="dark"] .r-earning-hero-aux-pill { background: var(--d-surface-low); color: var(--d-text-3); }
html[data-theme="dark"] .r-earning-hero-aux-pill.good { background: var(--d-accent-tab-bg); color: var(--d-accent); }
html[data-theme="dark"] .r-earning-quality-pill.pos { background: var(--d-accent-tab-bg); color: var(--d-accent); }
html[data-theme="dark"] .r-earning-headline-score.high { color: var(--d-accent); }
html[data-theme="dark"] .r-earning-table thead th { color: var(--d-text-muted); border-bottom: 1px solid var(--d-border-glass); }
html[data-theme="dark"] .r-earning-table tbody td { border-bottom: 1px solid var(--d-border-faint); }
html[data-theme="dark"] .r-earning-table tbody tr:hover { background: rgba(255,255,255,0.04); }
html[data-theme="dark"] .r-earning-table tbody td strong { color: var(--d-text); }
html[data-theme="dark"] .r-earning-narrative { background: var(--d-surface-low); color: var(--d-text-3); }
html[data-theme="dark"] .r-earning-narrative .material-symbols-outlined { color: var(--d-accent); }

/* Source provenance badges */
html[data-theme="dark"] .r-src-badge.official { background: rgba(222,224,115,0.14); color: var(--d-accent); border: 1px solid var(--d-accent-tab-line); }
html[data-theme="dark"] .r-src-badge.bi { background: rgba(255,255,255,0.05); color: var(--d-text-3); border: 1px solid var(--d-border-glass); }
html[data-theme="dark"] .r-provenance { background: var(--d-surface-low); border: 1px solid var(--d-border-glass); }
html[data-theme="dark"] .r-provenance-main { color: var(--d-text-2); }
html[data-theme="dark"] .r-provenance-main strong { color: var(--d-accent); }

/* Market signals tab */
html[data-theme="dark"] .r-mkt-tile-value { color: var(--d-text); }
html[data-theme="dark"] .r-mkt-tile-value.gold { color: var(--d-accent); }
html[data-theme="dark"] .r-mkt-theme:hover,
html[data-theme="dark"] .r-mkt-theme.open { background: var(--d-surface-low); }
html[data-theme="dark"] .r-mkt-theme-name { color: var(--d-text-2); }
html[data-theme="dark"] .r-mkt-bar,
html[data-theme="dark"] .r-mkt-split { background: var(--d-rail); }
html[data-theme="dark"] .r-mkt-tagcloud .r-mkt-tagitem { background: var(--d-surface-low); color: var(--d-text-2); }
html[data-theme="dark"] .r-mkt-banner {
  background: linear-gradient(135deg, rgba(222,224,115,0.10), rgba(255,255,255,0.02)); box-shadow: var(--d-shadow-card);
}
html[data-theme="dark"] .r-mkt-banner.slim { background: var(--d-surface-low); }
html[data-theme="dark"] .r-mkt-banner-icon { background: rgba(222,224,115,0.14); }
html[data-theme="dark"] .r-mkt-banner-icon .material-symbols-outlined { color: var(--d-accent); }
html[data-theme="dark"] .r-mkt-banner-title { color: var(--d-text); }
html[data-theme="dark"] .r-mkt-banner-cta { background: var(--d-accent); color: var(--d-accent-ink); }
html[data-theme="dark"] .r-mkt-banner-cta:hover { background: #e9ea9a; }

/* company-inline hides legacy fliar topbar; keep that working */
html[data-theme="dark"] body > .top_nav,
html[data-theme="dark"] body > .topnav,
html[data-theme="dark"] body > .mobile_menu { display: none !important; }

/* ============================================================================
 * 9. TAILWIND BODY-UTILITY OVERRIDES
 * search.php <body class="bg-[#fcf9f4] text-[#1c1c19] font-sans"> etc.
 * The html[data-theme] prefix + loading-after-page wins over the utility.
 * ========================================================================== */
html[data-theme="dark"] body.bg-\[\#fcf9f4\] { background: var(--d-bg-gradient), var(--d-bg) !important; }
html[data-theme="dark"] body.text-\[\#1c1c19\] { color: var(--d-text) !important; }

/* ============================================================================
 * 10. REDUCED MOTION
 * ========================================================================== */
@media (prefers-reduced-motion: reduce) {
  html[data-theme="dark"] .d-btn-ghost.is-running::before,
  html[data-theme="dark"] .d-pulse,
  html[data-theme="dark"] .d-skel-line,
  html[data-theme="dark"] .r-skel { animation: none !important; }
}

/* ──────────────────────────────────────────────────────────────────────────
   REVIEW POLISH — catch residual LIGHT Tailwind utility backgrounds that the
   per-page CSS didn't cover (e.g. the nav segment-switcher track/pill, stray
   bg-white/bg-[#f0ede8] chips). Backgrounds only — never <img> avatars/logos.
   ────────────────────────────────────────────────────────────────────────── */
html[data-theme="dark"] .bg-white,
html[data-theme="dark"] .bg-\[\#fff\],
html[data-theme="dark"] .bg-\[\#ffffff\],
html[data-theme="dark"] .bg-\[\#fcf9f4\],
html[data-theme="dark"] .bg-\[\#f6f3ee\],
html[data-theme="dark"] .bg-\[\#f0ede8\],
html[data-theme="dark"] .bg-\[\#ebe8e3\],
html[data-theme="dark"] .bg-\[\#e5e2dd\],
html[data-theme="dark"] .bg-gray-50, html[data-theme="dark"] .bg-gray-100,
html[data-theme="dark"] .bg-neutral-50, html[data-theme="dark"] .bg-neutral-100,
html[data-theme="dark"] .bg-slate-50, html[data-theme="dark"] .bg-slate-100,
html[data-theme="dark"] .bg-stone-50, html[data-theme="dark"] .bg-stone-100 {
  background-color: rgba(0, 0, 0, 0.28) !important;
  color: var(--d-text, #f1efe8);
}
/* Segment-switcher: dark track, accent-tinted ACTIVE pill (the bg-white one). */
html[data-theme="dark"] nav.fixed .bg-\[\#f0ede8\] { background-color: rgba(0,0,0,0.30) !important; }
html[data-theme="dark"] nav.fixed a.bg-white,
html[data-theme="dark"] nav.fixed button.bg-white,
html[data-theme="dark"] .sb-section .bg-white,
html[data-theme="dark"] [data-tab].bg-white,
html[data-theme="dark"] .seg-active.bg-white {
  background-color: rgba(222, 224, 115, 0.16) !important;
  color: #f1efe8 !important;
}

/* ============================================================================
 * 11. RESIDUAL-LIGHT OVERRIDES  (appended 2026-06-02)
 * ----------------------------------------------------------------------------
 * Per-page audit residue that the per-page sheets (search-dark / dashboard-dark
 * / login-dark / index-dark / people-dark / company-dark) and §1-§10 above did
 * NOT already cover. Every selector is scoped html[data-theme="dark"] so this
 * stays a no-op in light mode. Tokens reused: backgrounds ->
 * var(--d-surface-grad)/var(--d-bg-deep)/transparent; text -> var(--d-text)/
 * var(--d-text-2/3/muted); borders -> var(--d-border-glass)/var(--d-border-input).
 *
 * DISCIPLINE (unchanged): never touch <img>/avatar/logo bitmaps; PRESERVE the
 * gold #705d00 CTA + #dee073 accents + the yellow gradient-hairlines; keep the
 * `.hidden{display:none!important}` traps on #ps-loading / #ps-entitlement-notice
 * intact (defined above at §7, not re-touched here). !important is used only
 * where an inline style, a Tailwind arbitrary utility, or an ID selector would
 * otherwise out-rank these class selectors.
 * ========================================================================== */

/* ---- SEARCH page: search-inline.css hardcoded-light residue ---------------- */
/* Classic search pill input shell (rounded "white" capsule) -> transparent so
   the page gradient shows through; inner inputs already inherit --d-text. */
html[data-theme="dark"] .searchbox_div {
  background: transparent !important;
  border: 1px solid var(--d-border-glass) !important;
}
html[data-theme="dark"] .searchbox_div select,
html[data-theme="dark"] .searchbox_div input { color: var(--d-text) !important; }
html[data-theme="dark"] .searchbox_div input::placeholder { color: var(--d-text-muted); }

/* Legacy filter chip box (border:1px solid lightgrey). */
html[data-theme="dark"] .filter_box {
  background: var(--d-chip-bg);
  border: 1px solid var(--d-border-glass) !important;
  color: var(--d-text-2);
}

/* Legacy white cloud button (background:#e5e3e3;color:#282828 / #black). */
html[data-theme="dark"] .button-cloud-white,
html[data-theme="dark"] .jost.hover.hiring_invoke_buttons {
  background: var(--d-chip-bg) !important;
  color: var(--d-text) !important;
  border: 1px solid var(--d-border-glass) !important;
}

/* Section heading ink (color:#333333) on the now-dark canvas. */
html[data-theme="dark"] .professional_heading { color: var(--d-text); }

/* Dual-range slider widget (search-inline.css; also referenced in new_css.css).
   Thumb #f4f4f4 + ink #303030; rail #e1e1e1. Keep the dark accent ink readable. */
html[data-theme="dark"] .range-slider_thumb {
  background-color: var(--d-chip-bg) !important;
  color: var(--d-text-2) !important;
  border: 2px solid var(--d-border-input) !important;
}
html[data-theme="dark"] .range-slider_line { background-color: var(--d-rail) !important; }
html[data-theme="dark"] .range-slider_line-fill { background-color: var(--d-accent) !important; }

/* Toggle-switch knob (.slider:before background-color:white). The knob is a
   small UI dot, NOT a logo/avatar bitmap, so it is in-scope to darken. */
html[data-theme="dark"] .slider:before { background-color: var(--d-surface-solid); }
/* Scoped harmless if .slide_text_wrapper ships in a future new_css.css. */
html[data-theme="dark"] .slide_text_wrapper { border-bottom: 1px solid var(--d-border-glass); }

/* Smart "clear all" chip hover (light pink #f5d6d6) -> tinted critical wash. */
html[data-theme="dark"] .smart-chip-bar .smart-chip-clear:hover { background: rgba(232,85,58,0.18); }

/* ---- DASHBOARD page: integration status dot (#c5beb1 idle) ----------------- */
/* Already mirrored in dashboard-dark.css; added here so the shared sheet covers
   it even if the page-specific sheet ever fails to load. */
html[data-theme="dark"] .ri-status .dot { background: var(--d-text-muted); }
html[data-theme="dark"] .ri-status.connected .dot { background: var(--d-pos); }

/* ---- LOGIN page: inline-<style> + Tailwind ink residue --------------------- */
/* body { background-color:#fcf9f4 } lives in login.php's inline <style>; the
   §2/§8 body rules already win, but add an explicit guard at this scope too. */
html[data-theme="dark"] body { background: var(--d-body-bg) !important; }
/* The /50 and /70 ink opacities are NOT in login-dark.css (only /60../25 are).
   Page-agnostic so they fire whether or not nested under #auth-forms-panel. */
html[data-theme="dark"] .text-\[\#1c1c19\]\/50 { color: var(--d-text-muted) !important; }
html[data-theme="dark"] .text-\[\#1c1c19\]\/70 { color: var(--d-text-2) !important; }
html[data-theme="dark"] .hover\:text-\[\#1c1c19\]:hover { color: var(--d-text) !important; }

/* ---- COMPANY page: tab-panel containers + any stray light fill ------------- */
/* .r-panel-wrap / .r-panel are JS-populated shells; force them transparent so
   the body gradient (not a light fallback) shows behind the .r-card glass. */
html[data-theme="dark"] .r-panel-wrap,
html[data-theme="dark"] .r-panel { background: transparent; color: var(--d-text-2); }
/* Legacy inline white profile tiles emitted by single-company.js
   (style="background:white"); attribute match darkens the container fill
   without touching the <img> logo nested inside it. */
html[data-theme="dark"] .shadowx[style*="background:white"],
html[data-theme="dark"] .shadowx[style*="background: white"] {
  background: var(--d-surface-grad) !important;
  border: 1px solid var(--d-border-glass) !important;
  color: var(--d-text-2) !important;
}

/* ---- INDEX page: hardcoded yellow label badge (bg-[#ffd700]/15) ------------ */
/* Map the light golden wash onto the one-accent ramp (kept as accent, not gold
   CTA). The #705d00 CTA and #dee073 hairlines elsewhere are untouched. */
html[data-theme="dark"] .bg-\[\#ffd700\]\/15 { background-color: rgba(222,224,115,0.12) !important; }

/* ──────────────────────────────────────────────────────────────────────────
   §12 COMPANY.PHP residual panels the auto-polish missed (precise IDs + inline)
   - #rcp-panel = the Radar Copilot floating panel (was cream #fcf9f4 / white)
   - .col-sm-5 + .footer_main bar carry INLINE light backgrounds → need !important
   Never targets <img>/avatars/logos.
   ────────────────────────────────────────────────────────────────────────── */
html[data-theme="dark"] #rcp-panel {
  background: linear-gradient(180deg, rgba(63,63,63,0.96), rgba(34,34,34,0.98)) !important;
  color: var(--d-text, #f1efe8) !important;
  border-color: var(--d-border-glass, rgba(255,255,255,0.06)) !important;
}
html[data-theme="dark"] #rcp-head,
html[data-theme="dark"] #rcp-input-wrap {
  background: rgba(0,0,0,0.28) !important;
  color: var(--d-text, #f1efe8) !important;
  border-color: var(--d-border-glass, rgba(255,255,255,0.06)) !important;
}
html[data-theme="dark"] #rcp-panel input,
html[data-theme="dark"] #rcp-panel textarea,
html[data-theme="dark"] #rcp-panel select {
  background: rgba(0,0,0,0.32) !important; color: var(--d-text, #f1efe8) !important;
}
html[data-theme="dark"] #rcp-panel .rcp-msg,
html[data-theme="dark"] #rcp-panel [class*="bubble"] { color: var(--d-text-2, #d4d1c8) !important; }
/* inline-styled light panels (selector must include [style] to beat inline) */
html[data-theme="dark"] .col-sm-5[style*="lightgrey"],
html[data-theme="dark"] .col-sm-5[style*="light grey"] {
  background: var(--d-bg-deep, #252525) !important; color: var(--d-text, #f1efe8) !important;
}
html[data-theme="dark"] .footer_main [style*="#e5e5e5"],
html[data-theme="dark"] [style*="background:#e5e5e5"],
html[data-theme="dark"] [style*="background: #e5e5e5"] {
  background: rgba(0,0,0,0.30) !important; color: var(--d-text-2, #d4d1c8) !important;
}

/* ──────────────────────────────────────────────────────────────────────────
   §13 SEARCH.PHP residual inline-styled chrome
   - sticky "Filters / RESET" sidebar header (cream, inline position:sticky)
   - #et_active_hint entity-type active hint (inline pale-yellow #fff8d6)
   ────────────────────────────────────────────────────────────────────────── */
html[data-theme="dark"] #filteration_panel_company > div[style*="sticky"],
html[data-theme="dark"] aside[id*="filteration"] > div[style*="sticky"] {
  background: var(--d-bg-deep, #252525) !important;
  color: var(--d-text, #f1efe8) !important;
  border-color: var(--d-border-glass, rgba(255,255,255,0.06)) !important;
}
html[data-theme="dark"] #et_active_hint {
  background: rgba(222,224,115,0.12) !important;
  color: #dee073 !important;
  border: 1px solid rgba(222,224,115,0.30) !important;
}

/* ===== market.ai polish (2026-06-02) ===== */

/* S3 — Universal inline light-hex backstop.
   Neutralizes hardcoded light hexes appearing in inline style="" across
   search / dashboard / company (this file owns the inline-hex backstops). */
html[data-theme="dark"] [style*="#f0ede8"],
html[data-theme="dark"] [style*="#f9f6f1"],
html[data-theme="dark"] [style*="#f6f3ee"],
html[data-theme="dark"] [style*="#faf8f1"],
html[data-theme="dark"] [style*="#fcf9f4"],
html[data-theme="dark"] [style*="#f4f1e7"] {
  background: var(--d-surface-low) !important;
}
html[data-theme="dark"] [style*="#ede9e0"],
html[data-theme="dark"] [style*="#e5e2dd"],
html[data-theme="dark"] [style*="#efe9dc"],
html[data-theme="dark"] [style*="#d0c6ab"] {
  border-color: var(--d-border-glass) !important;
}
html[data-theme="dark"] [style*="#fff8d6"],
html[data-theme="dark"] [style*="#fff7cc"],
html[data-theme="dark"] [style*="#fff8d8"],
html[data-theme="dark"] [style*="#ffe98f"] {
  background: var(--d-accent-tab-bg) !important; color: var(--d-text) !important;
}
html[data-theme="dark"] [style*="#fff5ec"],
html[data-theme="dark"] [style*="#fef3f3"],
html[data-theme="dark"] [style*="#eaf6fc"] {
  background: var(--d-surface-low) !important; color: var(--d-text-2) !important;
}

/* S5 — Radius normalization across people/company card shells */
html[data-theme="dark"] .ps-card,
html[data-theme="dark"] .ps-card-compact,
html[data-theme="dark"] .ps-state-card,
html[data-theme="dark"] .ps-sl-row,
html[data-theme="dark"] .r-comp-card {
  border-radius: var(--d-radius) !important;
}

/* ===== market.ai polish ROUND 3 (2026-06-02) — direct user feedback ===== */

/* R3.1 — NO ROUND CORNERS on cards/panels/results/sidebar (user pref: square it).
   Pills, chips, avatars, score-rings keep their own radii. */
html[data-theme="dark"] .result_boxes_companies,
html[data-theme="dark"] #company_filter_search_results .result_boxes_companies,
html[data-theme="dark"] .d-card,
html[data-theme="dark"] .d-panel,
html[data-theme="dark"] .ps-card,
html[data-theme="dark"] .ps-card-compact,
html[data-theme="dark"] .ps-state-card,
html[data-theme="dark"] .ps-sl-row,
html[data-theme="dark"] .r-card,
html[data-theme="dark"] .r-intel-card,
html[data-theme="dark"] .r-comp-card,
html[data-theme="dark"] .stat-card,
html[data-theme="dark"] .ri-card,
html[data-theme="dark"] #filteration_panel_company,
html[data-theme="dark"] #people_results .ps-card {
  border-radius: 0 !important;
}

/* R3.2 — SELECTS render solid-dark incl. the native <option> popup (fixes "white dropdown") */
html[data-theme="dark"] .sb-select,
html[data-theme="dark"] #entity-type-select,
html[data-theme="dark"] #ps-sort-select,
html[data-theme="dark"] #filteration_panel_company select,
html[data-theme="dark"] select.sb-select {
  background-color: #23231f !important;
  color: var(--d-text) !important;
  border: 1px solid var(--d-border-input) !important;
  border-radius: 0 !important;
}
html[data-theme="dark"] .sb-select option,
html[data-theme="dark"] #entity-type-select option,
html[data-theme="dark"] #ps-sort-select option,
html[data-theme="dark"] select option {
  background-color: #23231f !important;
  color: var(--d-text) !important;
}

/* R3.3 — "Filters" sidebar heading has an inline color:#1c1c19 (black on the dark
   sticky header). Force it (and any same-cased inline-dark text in the panel) light. */
html[data-theme="dark"] #filteration_panel_company [style*="#1c1c19"],
html[data-theme="dark"] #filteration_panel_company [style*="#1C1C19"] {
  color: var(--d-text) !important;
}

/* R3.4 — dim filter text more visible: brighten section labels + input placeholders */
html[data-theme="dark"] .sb-section-label { color: #b2afa6 !important; }
html[data-theme="dark"] #filteration_panel_company input::placeholder,
html[data-theme="dark"] .sb-search-input::placeholder,
html[data-theme="dark"] .sb-input::placeholder {
  color: #9c998f !important; opacity: 1 !important;
}

/* R3.5 — flatten the result-card surface explicitly (belt-and-suspenders vs the
   old !important gradient in search.php inline CSS) + keep the square corners */
html[data-theme="dark"] .result_boxes_companies {
  background: var(--d-surface-grad) !important;
}

/* R3.6 — breathing room above the Entity Type box (first filter, sits right
   under the sticky "Filters" header otherwise) */
html[data-theme="dark"] #sb_entity_type_section { margin-top: 14px !important; }
