/* ============================================================================
   prime-theme.css — the Prime Intellect visual theme for app.geodo.ai
   (2026-07-26, Nadav-approved redesign; reference: redesign-preview/)

   PRESENTATION ONLY. Every selector is scoped under html.prime-theme (added
   by /prime-theme.js). With the class absent this file is inert; with it
   present it recolors the existing UI — it never moves, hides, or rewires
   any control. !important appears only where the app writes inline styles.
   ========================================================================== */
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap');

html.prime-theme {
  /* Palette measured from Prime Intellect's live dashboard (pixel-sampled +
     critical-CSS extraction, 2026-07-30): strict #000 bg, cool dark greys,
     purple accent used sparingly. */
  --pt-bg: #000000;            /* strict black — PI main + sidebar */
  --pt-fg: #fafafa;
  --pt-card: #0d0d0d;          /* card base (rays layer on top) */
  --pt-card-hover: #141414;    /* PI active/hover surface */
  --pt-popover: #0a0a0a;
  --pt-surface: #1a1a1a;       /* PI button / raised surface */
  --pt-muted: #a3a3a3;         /* PI muted text */
  --pt-dim: #787b82;           /* PI cool dim grey */
  --pt-border: #2f3236;        /* PI cool border on raised sections */
  --pt-border-soft: #1c1c1c;   /* hairline */
  --pt-accent: #780df8;        /* PI purple — used sparingly (CTAs/selected) */
  --pt-accent-hover: #6a0be0;
  --pt-accent-lite: #9b4dff;
  --pt-accent-soft: rgba(120, 13, 248, 0.22);
  --pt-accent-text: #d4d4d4;
  --pt-green: #10b981;
  --pt-green-text: #6ee7b7;
  --pt-amber: #fbd38d;
  --pt-red: #ff6b8f;
  --pt-sans: "IBM Plex Sans", -apple-system, "Segoe UI", sans-serif;
  --pt-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
}

html.prime-theme ::selection { background: rgba(255, 255, 255, 0.22); }
html.prime-theme ::-webkit-scrollbar { width: 8px; height: 8px; }
html.prime-theme ::-webkit-scrollbar-thumb { background: #2a2a2a; border-radius: 4px; }
html.prime-theme ::-webkit-scrollbar-thumb:hover { background: #3a3a3a; }
html.prime-theme ::-webkit-scrollbar-track { background: transparent; }

/* ==== SECTION: review rails (prime-rails.js) ==== */
html.prime-theme .prime-rail {
  position: fixed; top: 0; bottom: 0; width: 22%;
  overflow: hidden; opacity: 0.55; pointer-events: none; padding: 0 20px; z-index: 1;
}
html.prime-theme .prime-rail.left { left: 0; -webkit-mask-image: linear-gradient(to right, black 55%, transparent); mask-image: linear-gradient(to right, black 55%, transparent); }
html.prime-theme .prime-rail.right { right: 0; -webkit-mask-image: linear-gradient(to left, black 55%, transparent); mask-image: linear-gradient(to left, black 55%, transparent); }
/* 2026-09-04 — clear the floating sidebar rail (see vercel-theme.css note). The
   fixed 60px sidebar at left:0 covered the left review column's cards; start it
   to the RIGHT of the rail, matching body.has-floating-sidebar padding-left:60px. */
html.prime-theme body.has-floating-sidebar .prime-rail.left { left: 60px; }
@media (max-width: 1100px) { html.prime-theme .prime-rail { display: none; } }
html.prime-theme .prime-rail-track { display: flex; flex-direction: column; will-change: transform; }
/* CSS marquee — reliable continuous scroll (the track holds two identical card
   sets, so translateY(-50%) loops one set seamlessly). Left/right differ. */
html.prime-theme .prime-rail.left .prime-rail-track { animation: primeRailScroll 42s linear infinite; }
html.prime-theme .prime-rail.right .prime-rail-track { animation: primeRailScroll 54s linear infinite; }
@keyframes primeRailScroll { from { transform: translateY(0); } to { transform: translateY(-50%); } }
@media (prefers-reduced-motion: reduce) { html.prime-theme .prime-rail-track { animation: none !important; } }
html.prime-theme .prime-rail-card {
  background: var(--pt-card); border: 1px solid var(--pt-border-soft); border-radius: 18px;
  padding: 16px 18px; margin-bottom: 18px; max-width: 280px;
  font-family: var(--pt-sans);
}
html.prime-theme .prime-rail-card .prq { font-size: 13px; color: var(--pt-muted); line-height: 1.5; }
html.prime-theme .prime-rail-card .prw { display: flex; align-items: center; gap: 9px; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--pt-border-soft); }
html.prime-theme .prime-rail-card .pra { width: 28px; height: 28px; border-radius: 50%; background: #2e2e2e; color: #fafafa; display: grid; place-items: center; font-size: 12px; font-weight: 700; flex-shrink: 0; }
html.prime-theme .prime-rail-card .prn { font-size: 12.5px; font-weight: 600; color: var(--pt-fg); }
html.prime-theme .prime-rail-card .prr { font-size: 11px; color: var(--pt-dim); }

/* ==== SECTION: first-campaign spotlight (prime-ftue.js) ==== */
html.prime-theme .prime-ftue-hole {
  position: fixed; z-index: 9990; border-radius: 12px; pointer-events: none;
  box-shadow: 0 0 0 100vmax rgba(0, 0, 0, 0.78);
  opacity: 0; transition: opacity 0.6s;
  animation: primeFtuePulse 1.6s ease-in-out infinite;
}
html.prime-theme .prime-ftue-hole.show { opacity: 1; }
@keyframes primeFtuePulse {
  0%, 100% { outline: 3px solid rgba(147, 34, 63, 0.55); outline-offset: 2px; }
  50% { outline: 6px solid rgba(147, 34, 63, 0.9); outline-offset: 4px; }
}
html.prime-theme .prime-ftue-block { position: fixed; z-index: 9991; background: transparent; opacity: 0; }
html.prime-theme .prime-ftue-block.show { opacity: 1; }
html.prime-theme .prime-ftue-geo {
  position: fixed; z-index: 9992; width: 260px;
  display: flex; flex-direction: column; align-items: center; gap: 12px;
  pointer-events: none; opacity: 0; transition: opacity 0.6s, top 1.1s cubic-bezier(0.45, -0.12, 0.3, 1.12), left 1.1s cubic-bezier(0.45, -0.12, 0.3, 1.12);
  font-family: var(--pt-sans);
}
html.prime-theme .prime-ftue-geo.show { opacity: 1; }
html.prime-theme .prime-ftue-bubble {
  background: var(--pt-card); border: 1px solid var(--pt-border); border-radius: 12px;
  padding: 12px 15px; font-size: 12.5px; color: #e5e5e5; width: 100%;
  line-height: 1.55; box-shadow: 0 10px 32px rgba(0, 0, 0, 0.65);
}
html.prime-theme .prime-ftue-bubble .prime-ftue-next { margin-top: 10px; display: inline-block; background: var(--pt-accent); color: #fff; border: none; border-radius: 6px; padding: 6px 14px; font-size: 12.5px; font-weight: 600; font-family: inherit; cursor: pointer; pointer-events: auto; }
html.prime-theme .prime-ftue-bubble .prime-ftue-next:hover { background: var(--pt-accent-hover); }
html.prime-theme .prime-ftue-head {
  width: 58px; height: 58px; border-radius: 50%;
  background: #f4f4ef; border: 2px solid var(--pt-accent);
  box-shadow: 0 8px 26px rgba(0, 0, 0, 0.65);
  display: grid; place-items: center; overflow: hidden;
  animation: primeGeoBob 3s ease-in-out infinite;
}
html.prime-theme .prime-ftue-head img { width: 46px; height: 46px; object-fit: contain; }
@keyframes primeGeoBob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }

/* ==== SECTION: wizard extras (prime-wizard-extras.js) ==== */
html.prime-theme .prime-chan-limit { display: flex; justify-content: center; margin: 2px 0 10px; }
html.prime-theme .prime-chan-limit span {
  font-family: var(--pt-mono); font-size: 10.5px; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--pt-muted); background: #1a1a1a; border: 1px solid var(--pt-border);
  border-radius: 999px; padding: 4px 13px; transition: color 0.2s, border-color 0.2s;
}
html.prime-theme .prime-chan-limit.picked span { color: var(--pt-accent-text); border-color: rgba(155, 77, 255, 0.45); background: var(--pt-accent-soft); }
html.prime-theme .prime-chan-dim { opacity: 0.32 !important; filter: grayscale(1) !important; transition: opacity 0.35s, filter 0.35s; }
html.prime-theme .prime-next-pulse { animation: primeNextPulse 1.5s ease-in-out infinite; }
@keyframes primeNextPulse {
  0%, 100% { box-shadow: 0 0 0 3px rgba(147, 34, 63, 0.4), 0 0 18px rgba(147, 34, 63, 0.55); }
  50% { box-shadow: 0 0 0 6px rgba(147, 34, 63, 0.25), 0 0 34px rgba(147, 34, 63, 0.9); }
}
html.prime-theme .prime-ch-tip {
  position: fixed; z-index: 9980; max-width: 280px;
  background: var(--pt-popover); border: 1px solid var(--pt-border); border-radius: 10px;
  padding: 11px 14px; font-size: 12.5px; color: #e5e5e5; line-height: 1.55;
  box-shadow: 0 12px 34px rgba(0, 0, 0, 0.65);
  pointer-events: none; opacity: 0; transition: opacity 0.12s;
  font-family: var(--pt-sans);
}
html.prime-theme .prime-ch-tip.show { opacity: 1; }
html.prime-theme .prime-ch-tip .tip-title { font-family: var(--pt-mono); font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--pt-accent-text); margin-bottom: 5px; }
html.prime-theme .prime-scroll-hint {
  position: fixed; bottom: 84px; left: 50%; transform: translateX(-50%);
  z-index: 9979; display: flex; flex-direction: column; align-items: center; gap: 2px;
  font-family: var(--pt-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--pt-muted); pointer-events: none;
  opacity: 0; transition: opacity 0.4s;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.9);
}
html.prime-theme .prime-scroll-hint.show { opacity: 1; }
html.prime-theme .prime-scroll-hint svg { width: 18px; height: 18px; animation: primeHintBounce 1.4s ease-in-out infinite; }
@keyframes primeHintBounce { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(6px); } }

/* Per-page override sections are appended below. */


/* ############################################################
   PAGE: sidebar
   ############################################################ */
/* ==== SECTION: shared-sidebar (public/sidebar.js — injected #__shared_sidebar_css + #__geodo_floating_sidebar_overrides_v1) ==== */

/* ==== SECTION: shared-sidebar ==== */

/* ---- Shell — black bg, soft right border, IBM Plex ---- */
html.prime-theme .sidebar,
html.prime-theme .cp-dash-sidebar,
html.prime-theme .gp-dash-sidebar,
html.prime-theme .eo-sidebar {
  background: #000000 !important;
  color: #d4d4d4 !important;
  border-right-color: #1f1f1f !important;
  font-family: "IBM Plex Sans", -apple-system, "Segoe UI", sans-serif !important;
}

/* ---- Header / brand ---- */
html.prime-theme .sidebar .sidebar-top,
html.prime-theme .sidebar .sidebar-header {
  border-bottom-color: #1f1f1f !important;
}
html.prime-theme .sidebar .sidebar-brand { color: #fafafa !important; }
/* geodo-logo.png is the same black mark as the preview — cream plate so it reads on #000 */
html.prime-theme .sidebar .sidebar-logo { background: #f4f4ef !important; }

/* ---- Nav items: #d4d4d4 → hover #161616 → active #1c1c1c ---- */
html.prime-theme .sidebar .sidebar-settings-btn {
  background: transparent !important;
  color: #d4d4d4 !important;
}
html.prime-theme .sidebar .sidebar-settings-btn svg { stroke: #a3a3a3 !important; }
html.prime-theme .sidebar .sidebar-settings-btn:hover {
  background: #161616 !important;
  color: #fafafa !important;
}
html.prime-theme .sidebar .sidebar-settings-btn:hover svg { stroke: #fafafa !important; }
html.prime-theme .sidebar .sidebar-settings-btn.sb-active,
html.prime-theme .sidebar .sidebar-settings-btn.page-active,
html.prime-theme .sidebar .sidebar-settings-btn.active {
  background: #1c1c1c !important;
  color: #fafafa !important;
  /* preview's active 1px #2a2a2a ring via inset shadow — real buttons have border:none */
  box-shadow: inset 0 0 0 1px #2a2a2a !important;
}
html.prime-theme .sidebar .sidebar-settings-btn.sb-active svg,
html.prime-theme .sidebar .sidebar-settings-btn.page-active svg,
html.prime-theme .sidebar .sidebar-settings-btn.active svg { stroke: #fafafa !important; }
html.prime-theme .cp-dash-sidebar .sb-link.sb-active,
html.prime-theme .gp-dash-sidebar .sb-link.sb-active,
html.prime-theme .eo-sidebar .sb-link.sb-active {
  background: #1c1c1c !important;
  color: #fafafa !important;
}
/* legacy new-chat-btn (cohort-hidden, kept for safety) */
html.prime-theme .sidebar .new-chat-btn {
  background: #161616 !important;
  border-color: #2e2e2e !important;
  color: #d4d4d4 !important;
}
html.prime-theme .sidebar .new-chat-btn:hover { background: #1c1c1c !important; color: #fafafa !important; }

/* ---- Inbox unread badge (semantic red, preview dark variant) ---- */
html.prime-theme .sidebar .sidebar-unread-badge {
  background: #ff2056 !important;
  color: #ffffff !important;
  font-family: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace !important;
}
/* New-activity dot (collapsed rail): prime's semantic red; ring matches the #000 shell */
html.prime-theme .sidebar { --geo-inbox-dot: #ff2056; --geo-rail-ring: #000000; }

/* ---- New Campaign CTA — burgundy fill (base = mobile + expanded) ---- */
html.prime-theme .sidebar #sidebarNewCampaignBtn {
  background: #780df8 !important;
  color: #ffffff !important;
}
html.prime-theme .sidebar #sidebarNewCampaignBtn svg { stroke: #ffffff !important; }
html.prime-theme .sidebar #sidebarNewCampaignBtn:hover {
  background: #6a0be0 !important;
  color: #ffffff !important;
}

/* ---- Recents / conversations (on /app) ---- */
html.prime-theme .sidebar .conv-section-label {
  color: #737373 !important;
  font-family: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace !important;
}
html.prime-theme .sidebar .conv-item { color: #d4d4d4 !important; }
html.prime-theme .sidebar .conv-item:hover { background: #161616 !important; color: #fafafa !important; }
html.prime-theme .sidebar .conv-item.active { background: #1c1c1c !important; color: #fafafa !important; }
html.prime-theme .sidebar .conv-item-dot { background: #3a3a3a !important; }
html.prime-theme .sidebar .conv-empty { color: #737373 !important; }
html.prime-theme .sidebar .conv-rename-btn { color: #737373 !important; }
html.prime-theme .sidebar .conv-rename-btn:hover { background: #1c1c1c !important; color: #fafafa !important; }
html.prime-theme .sidebar .sidebar-conversations::-webkit-scrollbar-thumb { background: #2a2a2a !important; }

/* ---- Footer — muted, #1f1f1f top border ---- */
html.prime-theme .sidebar .sidebar-bottom,
html.prime-theme .sidebar-bottom[data-geodo-sidebar-bottom],
html.prime-theme .sidebar .sidebar-bottom[data-geodo-sidebar-bottom] {
  background: transparent !important;
  border-top-color: #1f1f1f !important;
}
html.prime-theme .sidebar .sidebar-footer-settings-btn { color: #a3a3a3 !important; }
html.prime-theme .sidebar .sidebar-footer-settings-btn:hover { color: #fafafa !important; }
html.prime-theme .sidebar .sidebar-bottom .sidebar-profile-link:hover { background: #161616 !important; }
html.prime-theme .sidebar .sidebar-bottom .user-avatar,
html.prime-theme .sidebar .sidebar-bottom[data-geodo-sidebar-bottom] .user-avatar {
  background: #262626 !important;
  color: #a3a3a3 !important;
  box-shadow: inset 0 0 0 1px #2e2e2e !important;
}
html.prime-theme .sidebar .sidebar-bottom .user-avatar svg,
html.prime-theme .sidebar .sidebar-bottom[data-geodo-sidebar-bottom] .user-avatar svg { stroke: #a3a3a3 !important; }
html.prime-theme .sidebar .sidebar-bottom .user-name,
html.prime-theme .sidebar .sidebar-bottom[data-geodo-sidebar-bottom] .user-name { color: #fafafa !important; }
html.prime-theme .sidebar .sidebar-bottom[data-geodo-sidebar-bottom] .sidebar-profile-link:hover .user-name { color: #fafafa !important; }
html.prime-theme .sidebar .sidebar-bottom .user-email,
html.prime-theme .sidebar .sidebar-bottom[data-geodo-sidebar-bottom] .user-email { color: #737373 !important; }
html.prime-theme .sidebar .sidebar-bottom .signout-btn,
html.prime-theme .sidebar .sidebar-bottom[data-geodo-sidebar-bottom] .signout-btn { color: #737373 !important; }
html.prime-theme .sidebar .sidebar-bottom .signout-btn:hover,
html.prime-theme .sidebar .sidebar-bottom[data-geodo-sidebar-bottom] .signout-btn:hover {
  background: #161616 !important;
  color: #fafafa !important;
}

/* Credit badge — keeps the locked-in flat muted treatment, mono per preview micro-labels */
html.prime-theme .sidebar .credit-badge,
html.prime-theme .sidebar .credit-badge.unlimited,
html.prime-theme .sidebar .credit-badge.low,
html.prime-theme .sidebar .credit-badge.empty,
html.prime-theme .sidebar .sidebar-bottom .credit-badge,
html.prime-theme .sidebar .sidebar-bottom .credit-badge.unlimited,
html.prime-theme .sidebar .sidebar-bottom .credit-badge.low,
html.prime-theme .sidebar .sidebar-bottom .credit-badge.empty {
  background: transparent !important;
  color: #a3a3a3 !important;
  border-color: transparent !important;
  box-shadow: none !important;
  font-family: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace !important;
}

/* Report a bug — semantic red kept, dark-theme variant */
html.prime-theme .sidebar #reportBugBtn { color: #a3a3a3 !important; }
html.prime-theme .sidebar #reportBugBtn:hover { color: #fafafa !important; }
html.prime-theme .sidebar #reportBugBtn svg { stroke: #ff6b8f !important; }
html.prime-theme .sidebar #reportBugBtn:hover svg { stroke: #ff8fab !important; }

/* ---- Desktop floating rail (mirrors sidebar.js @media 721px structure) ---- */
@media (min-width: 721px) {
  /* Collapsed rail keeps the CTA flat (existing behavior) — accent-tinted icon,
     fills burgundy only when the rail expands on hover/focus. */
  html.prime-theme .sidebar #sidebarNewCampaignBtn {
    background: transparent !important;
    color: #d4d4d4 !important;
  }
  html.prime-theme .sidebar #sidebarNewCampaignBtn svg { stroke: #d4d4d4 !important; }
  html.prime-theme .sidebar #sidebarNewCampaignBtn:hover { background: rgba(120, 13, 248, 0.22) !important; }
  html.prime-theme .sidebar:hover #sidebarNewCampaignBtn,
  html.prime-theme .sidebar:focus-within #sidebarNewCampaignBtn {
    background: #780df8 !important;
    color: #ffffff !important;
  }
  html.prime-theme .sidebar:hover #sidebarNewCampaignBtn svg,
  html.prime-theme .sidebar:focus-within #sidebarNewCampaignBtn svg { stroke: #ffffff !important; }
  html.prime-theme .sidebar:hover #sidebarNewCampaignBtn:hover,
  html.prime-theme .sidebar:focus-within #sidebarNewCampaignBtn:hover { background: #6a0be0 !important; }

  /* Footer Settings/Enterprise circle in the collapsed 60px rail */
  html.prime-theme .sidebar .sidebar-bottom .sidebar-footer-settings-btn {
    background: #161616 !important;
    color: #a3a3a3 !important;
  }
  html.prime-theme .sidebar .sidebar-bottom .sidebar-footer-settings-btn:hover {
    background: #1f1f1f !important;
    color: #fafafa !important;
  }
  /* Expanded rail: circle relaxes back to a transparent pill (order matters — after collapsed rules) */
  html.prime-theme .sidebar:hover .sidebar-bottom .sidebar-footer-settings-btn,
  html.prime-theme .sidebar:focus-within .sidebar-bottom .sidebar-footer-settings-btn {
    background: transparent !important;
  }
  html.prime-theme .sidebar:hover .sidebar-bottom .sidebar-footer-settings-btn:hover,
  html.prime-theme .sidebar:focus-within .sidebar-bottom .sidebar-footer-settings-btn:hover {
    background: #161616 !important;
    color: #fafafa !important;
  }
}

/* ---- Enterprise contact modal (opened from the sidebar footer; styled in the
       same sidebar.js-injected block; was white/light — flipped dark) ---- */
html.prime-theme .geo-enterprise-modal {
  background: #0d0d0d !important;
  color: #fafafa !important;
  box-shadow: 0 0 0 1px #2e2e2e, 0 30px 80px -20px rgba(0, 0, 0, 0.7) !important;
  font-family: "IBM Plex Sans", -apple-system, "Segoe UI", sans-serif !important;
}
html.prime-theme .geo-enterprise-modal h2 { color: #fafafa !important; }
html.prime-theme .geo-enterprise-modal p { color: #a3a3a3 !important; }
html.prime-theme .geo-enterprise-modal .geo-contact-row {
  border-color: #2e2e2e !important;
  color: #fafafa !important;
}
html.prime-theme .geo-enterprise-modal .geo-contact-row:hover {
  border-color: #4b4b4b !important;
  background: #131313 !important;
}
html.prime-theme .geo-enterprise-modal .geo-contact-row .geo-contact-icon { background: #161616 !important; }
html.prime-theme .geo-enterprise-modal .geo-contact-row .geo-contact-icon svg { stroke: #fafafa !important; }
html.prime-theme .geo-enterprise-modal .geo-contact-row .geo-contact-label { color: #737373 !important; }
html.prime-theme .geo-enterprise-modal .geo-modal-close { color: #737373 !important; }
html.prime-theme .geo-enterprise-modal .geo-modal-close:hover { background: #161616 !important; color: #fafafa !important; }
html.prime-theme .geo-enterprise-modal .geo-enterprise-foot { color: #737373 !important; }

/* ==== END SECTION: shared-sidebar ==== */


/* ############################################################
   PAGE: campaigns-pro
   ############################################################ */
/* ==== SECTION: campaigns-overview (prime theme) ==== */

/* -- root / boot -- */
html.prime-theme { color-scheme: dark; }
html.prime-theme body { background: #000000; color: #fafafa; font-family: "IBM Plex Sans", -apple-system, "Segoe UI", sans-serif; }
html.prime-theme body.cp-booting { background: #000000; }
html.prime-theme .cp-main-area { background: #000000; }
html.prime-theme .cp-boot-loading-btn { background: #1a1a1a; border-color: #2e2e2e; color: #a3a3a3; }
html.prime-theme .cp-boot-logo { box-shadow: 0 10px 28px rgba(0, 0, 0, 0.6); }

/* -- overview topbar -- */
html.prime-theme .cp-ov-topbar { background: #000000; border-bottom-color: #1f1f1f; }
html.prime-theme .cp-ov-title { color: #fafafa; }
html.prime-theme .cp-ov-sub { color: #a3a3a3; }
html.prime-theme .cp-ov-new-btn { background: #780df8; color: #fff; }
html.prime-theme .cp-ov-new-btn:hover { background: #6a0be0; }

/* -- overview body + stat boxes -- */
html.prime-theme .cp-ov-body { background: #000000; }
html.prime-theme .cp-ov-stat { background: #0d0d0d; border-color: #1f1f1f; }
html.prime-theme .cp-ov-stat-label { color: #737373; font-family: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace; }
html.prime-theme .cp-ov-stat-value { color: #fafafa; }
html.prime-theme .cp-ov-stat-sub { color: #737373; }
html.prime-theme .cp-ov-section-title { color: #737373; font-family: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace; text-transform: uppercase; letter-spacing: 0.12em; font-size: 11.5px; }

/* -- campaign cards -- */
/* Prime-Intellect-style textured tiles: faint diagonal "laser" rays fanning
   from the bottom-left corner + a soft corner glow (our own CSS, no image
   assets), with a hover-lift that "lights up" the card. Matches PI's card
   overlay (verified against their dashboard render). */
/* Five texture VARIANTS (rays / dots / grid / diag / glow) so no two cards
   share the same light pattern — like PI, where every tile's render differs.
   campaigns-pro.js assigns data-pt-tex + the --pt-ray-* vars per card,
   deterministically seeded from channel + campaign id. All variants read
   their line alpha from --pt-tex-a / glow from --pt-glow-a, so ONE hover
   rule brightens every variant. */
html.prime-theme .cp-ov-card,
html.prime-theme .cp-ov-stat,
html.prime-theme .cp-ov-credits {
  --pt-tex-a: 0.022;
  --pt-glow-a: 0.045;
  background-color: #0a0a0a;
  background-image:
    repeating-conic-gradient(from var(--pt-ray-angle, 205deg) at var(--pt-ray-x, 6%) var(--pt-ray-y, 112%), rgba(255,255,255,var(--pt-tex-a)) 0deg 2.2deg, transparent 2.2deg var(--pt-ray-gap, 10deg)),
    radial-gradient(120% 120% at var(--pt-ray-x, 0%) var(--pt-ray-y, 100%), rgba(255,255,255,var(--pt-glow-a)), transparent 55%);
  border-color: #1f1f1f;
  transition: border-color 0.16s ease, background-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}
html.prime-theme .cp-ov-card[data-pt-tex="dots"] {
  background-image:
    radial-gradient(circle at 1px 1px, rgba(255,255,255,calc(var(--pt-tex-a) * 1.7)) 1px, transparent 0),
    radial-gradient(120% 120% at 100% 0%, rgba(255,255,255,var(--pt-glow-a)), transparent 55%);
  background-size: 14px 14px, auto;
}
html.prime-theme .cp-ov-card[data-pt-tex="grid"] {
  background-image:
    linear-gradient(rgba(255,255,255,calc(var(--pt-tex-a) * 1.25)) 1px, transparent 0),
    linear-gradient(90deg, rgba(255,255,255,calc(var(--pt-tex-a) * 1.25)) 1px, transparent 0),
    radial-gradient(120% 110% at 100% 0%, rgba(255,255,255,var(--pt-glow-a)), transparent 60%);
  background-size: 26px 26px, 26px 26px, auto;
}
html.prime-theme .cp-ov-card[data-pt-tex="diag"] {
  background-image:
    repeating-linear-gradient(115deg, rgba(255,255,255,calc(var(--pt-tex-a) * 1.2)) 0 1px, transparent 1px 14px),
    radial-gradient(120% 120% at 0% 100%, rgba(255,255,255,var(--pt-glow-a)), transparent 55%);
}
html.prime-theme .cp-ov-card[data-pt-tex="glow"] {
  background-image:
    radial-gradient(90% 130% at 100% 110%, rgba(255,255,255,calc(var(--pt-glow-a) * 1.5)), transparent 60%);
}
html.prime-theme .cp-ov-card:hover {
  --pt-tex-a: 0.034;
  --pt-glow-a: 0.07;
  border-color: #3a3a3a;
  background-color: #0e0e0e;
  box-shadow: 0 8px 26px rgba(0, 0, 0, 0.55);
  transform: translateY(-1px);
}
/* "Start new campaign" / primary CTA lights up on hover too. */
html.prime-theme .cp-ov-new-btn { transition: background 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease; }
html.prime-theme .cp-ov-new-btn:hover { box-shadow: 0 6px 20px rgba(120, 13, 248,0.5); transform: translateY(-1px); }
/* Campaigns overview: render channel app logos (Instagram/LinkedIn/Substack/…)
   BLACK-AND-WHITE, not their brand colors. The JS sets a brand-tinted tile bg +
   box-shadow inline, so override with !important, then grayscale the logo. Light
   chip keeps every logo readable (a dark chip would hide black marks like X). */
/* Full-COLOR brand logos (Nadav: bring the color back). Light chip so the
   colored logos read crisply on the dark card; NO filter. */
html.prime-theme .cp-ov-card-logo {
  background: #f4f4ef !important;
  box-shadow: inset 0 0 0 1px #2e2e2e !important;
}
html.prime-theme .cp-ov-card-logo svg,
html.prime-theme .cp-ov-card-logo img { filter: none !important; }
html.prime-theme .cp-ov-card-name { color: #fafafa; }
html.prime-theme .cp-ov-card-sent { color: #fafafa; }
html.prime-theme .cp-ov-card-sent-label { color: #a3a3a3; }
html.prime-theme .cp-ov-card-reason { color: #fbd38d; }
html.prime-theme .cp-ov-card-channel { color: #737373; font-family: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace; }
/* status dots: semantic colors kept exactly; gray tuned for dark bg; preview glow on live states */
html.prime-theme .cp-ov-card-status-dot { background: #4b4b4b; }
html.prime-theme .cp-ov-card-status-dot.paused { background: #4b4b4b; }
html.prime-theme .cp-ov-card-status-dot.active { background: #ec4899; box-shadow: 0 0 8px rgba(236,72,153, 0.7); }
html.prime-theme .cp-ov-card-status-dot.degraded { background: #f59e0b; box-shadow: 0 0 8px rgba(245, 158, 11, 0.55); }
html.prime-theme .cp-ov-card-status-dot.stopped { background: #ef4444; }

/* -- draft cards (dark dashed) -- */
html.prime-theme .cp-ov-card-draft { background: #0a0a0a; border-color: #333333; }
html.prime-theme .cp-ov-card-draft:hover { border-color: #4b4b4b; background: #0d0d0d; box-shadow: 0 4px 16px rgba(0, 0, 0, 0.45); }
html.prime-theme .cp-ov-card-draft .cp-ov-card-name { color: #a3a3a3; }
html.prime-theme .cp-ov-card-draft-badge { color: #a3a3a3; background: #1f1f1f; font-family: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace; }
html.prime-theme .cp-ov-card-draft-sub { color: #737373; }
html.prime-theme .cp-ov-card-draft-cta { color: #d4d4d4; }
/* toggle button colors are inline (JS) -> !important on color only */
html.prime-theme .cp-ov-drafts-toggle { color: #a3a3a3 !important; }
html.prime-theme .cp-ov-drafts-toggle:hover { color: #fafafa !important; }

/* -- empty state -- */
html.prime-theme .cp-ov-empty { background: #0d0d0d; border-color: #333333; }
html.prime-theme .cp-ov-empty-title { color: #fafafa; }
html.prime-theme .cp-ov-empty-sub { color: #a3a3a3; }

/* -- credits panel -- */
html.prime-theme .cp-ov-credits { background: #0d0d0d; border-color: #1f1f1f; }
html.prime-theme .cp-ov-credits-title { color: #fafafa; }
html.prime-theme .cp-ov-credits-used { color: #fafafa; }
html.prime-theme .cp-ov-credits-bar { background: #1f1f1f; }
html.prime-theme .cp-ov-credits-bar-fill { background: linear-gradient(90deg, #4b4b4b, #a3a3a3); }
html.prime-theme .cp-ov-credits-row { color: #a3a3a3; }
html.prime-theme .cp-ov-credits-row strong { color: #fafafa; }
/* background-size re-declared because the shorthand above would otherwise reset the shimmer animation */
html.prime-theme .cp-ov-skeleton { background: linear-gradient(90deg, #161616 0%, #1f1f1f 50%, #161616 100%); background-size: 200% 100%; }
html.prime-theme .cp-ov-credits-info-btn { color: #737373; }
html.prime-theme .cp-ov-credits-info-btn:hover { background: #1f1f1f; color: #fafafa; }
html.prime-theme .cp-ov-credits-info-btn:focus-visible { outline-color: #6b6b6b; }

/* -- credits breakdown modal -- */
html.prime-theme .cp-ov-credits-modal-backdrop { background: rgba(0, 0, 0, 0.65); }
html.prime-theme .cp-ov-credits-modal { background: #0d0d0d; box-shadow: 0 0 0 1px #2e2e2e, 0 24px 60px rgba(0, 0, 0, 0.6); }
html.prime-theme .cp-ov-credits-modal-head { border-bottom-color: #1f1f1f; }
html.prime-theme .cp-ov-credits-modal-title { color: #fafafa; }
html.prime-theme .cp-ov-credits-modal-sub { color: #a3a3a3; }
html.prime-theme .cp-ov-credits-modal-close { color: #a3a3a3; }
html.prime-theme .cp-ov-credits-modal-close:hover { background: #1f1f1f; color: #fafafa; }
html.prime-theme .cp-ov-credits-modal-body { background: #0d0d0d; }
html.prime-theme .cp-ov-credits-modal-row { border-bottom-color: #1f1f1f; }
html.prime-theme .cp-ov-credits-modal-row-label { color: #fafafa; }
html.prime-theme .cp-ov-credits-modal-row-meta { color: #a3a3a3; }
html.prime-theme .cp-ov-credits-modal-row-count { color: #a3a3a3; }
html.prime-theme .cp-ov-credits-modal-row-credits { color: #fafafa; }
html.prime-theme .cp-ov-credits-modal-empty { color: #737373; }
html.prime-theme .cp-ov-credits-modal-foot { color: #737373; border-top-color: #1f1f1f; }

/* modal inline-style hotspots (markup built in cpOvShowCreditsBreakdownModal) */
/* segmented-tab container: inline background:#f3f4f6 + border #eceef1 */
html.prime-theme .cp-ov-credits-modal div[style*="#f3f4f6"] { background: #161616 !important; border-color: #2e2e2e !important; }
/* tab buttons: JS toggles inline bg between #0a0a0a (active) and transparent — match both the
   authored hex form and the JS-serialized rgb() form */
html.prime-theme #cpOvCuTabUsed[style*="#0a0a0a"],
html.prime-theme #cpOvCuTabCatalog[style*="#0a0a0a"],
html.prime-theme #cpOvCuTabUsed[style*="rgb(10, 10, 10)"],
html.prime-theme #cpOvCuTabCatalog[style*="rgb(10, 10, 10)"] { background: #fafafa !important; color: #000 !important; }
html.prime-theme #cpOvCuTabUsed[style*="transparent"],
html.prime-theme #cpOvCuTabCatalog[style*="transparent"] { background: transparent !important; color: #a3a3a3 !important; }
/* catalog rows: inline color #db2777 (free) / #0a0a0a (priced) — dark-on-dark without this */
html.prime-theme .cp-ov-credits-modal-row-credits[style*="#db2777"] { color: #f9a8d4 !important; }
html.prime-theme .cp-ov-credits-modal-row-credits[style*="#0a0a0a"] { color: #fafafa !important; }
/* catalog intro (#6b7280), category headers (#525252), used-pane summary (#9ca3af) — all inline */
html.prime-theme #cpOvCuPaneCatalog div[style*="#6b7280"] { color: #a3a3a3 !important; }
html.prime-theme #cpOvCuPaneCatalog div[style*="#525252"] { color: #737373 !important; }
html.prime-theme #cpOvCuPaneUsed div[style*="#9ca3af"] { color: #737373 !important; }

/* -- campaign dashboard topbar (quick pass, .cp-dash-*) -- */
html.prime-theme .cp-dash-main { background: #000000; }
html.prime-theme .cp-dash-topbar { background: #000000; border-bottom-color: #1f1f1f; }
html.prime-theme .cp-dash-topbar-title { color: #fafafa; }
html.prime-theme .cp-dash-status-badge.active { background: rgba(236,72,153, 0.08); color: #f9a8d4; box-shadow: inset 0 0 0 1px rgba(236,72,153, 0.25); }
html.prime-theme .cp-dash-status-badge.paused,
html.prime-theme .cp-dash-status-badge.degraded { background: rgba(245, 158, 11, 0.08); color: #fbd38d; box-shadow: inset 0 0 0 1px rgba(245, 158, 11, 0.25); }
html.prime-theme .cp-dash-status-badge.draft,
html.prime-theme .cp-dash-status-badge.stopped { background: #1f1f1f; color: #a3a3a3; box-shadow: inset 0 0 0 1px #2e2e2e; }
html.prime-theme .cp-dash-action-btn { background: #161616; border-color: #2e2e2e; color: #fafafa; }
html.prime-theme .cp-dash-action-btn:hover { border-color: #4b4b4b; background: #131313; color: #fafafa; }
html.prime-theme .cp-dash-action-btn.primary { background: #fafafa; border-color: #fafafa; color: #111; }
html.prime-theme .cp-dash-action-btn.primary:hover { background: #e5e5e5; border-color: #e5e5e5; }

/* ── campaign-detail (dashboard) CONTENT: panels, stat/KPI tiles, tables, and
   status pills were unthemed white — the "click a campaign -> complete white
   background" Nadav reported 2026-07-30. Theme them to the dark PI palette. ── */
html.prime-theme .cp-dash-content,
html.prime-theme .cp-dash-content-inner { background: transparent; color: #d4d4d4; }
html.prime-theme .cp-dash-section { background: #0d0d0d; border-color: #1f1f1f; }
html.prime-theme .cp-dash-section-title { color: #fafafa; }
html.prime-theme .cp-dash-section-edit { background: transparent; border-color: #2e2e2e; color: #a3a3a3; }
html.prime-theme .cp-dash-section-edit:hover { border-color: #4b4b4b; color: #fafafa; }
/* KPI row + stat cards */
html.prime-theme .cp-stat-card { background: #0d0d0d; border-color: #1f1f1f; }
html.prime-theme .cp-stat-label { color: #737373; }
html.prime-theme .cp-stat-value { color: #fafafa; }
html.prime-theme .cp-kpis { border-top-color: #1f1f1f; }
html.prime-theme .cp-kpi + .cp-kpi { border-left-color: #1f1f1f; }
html.prime-theme .cp-kpi-label { color: #787b82; }
html.prime-theme .cp-kpi-value { color: #fafafa; }
html.prime-theme .cp-kpi-sub { color: #737373; }
html.prime-theme .cp-stats-error,
html.prime-theme .cp-stats-loading { color: #a3a3a3; }
/* contact table */
html.prime-theme .cp-dash-contact-table th { color: #737373; border-bottom-color: #1f1f1f; }
html.prime-theme .cp-dash-contact-table td { color: #d4d4d4; border-bottom-color: #1a1a1a; }
html.prime-theme .cp-dash-contact-table tr:hover { background: #131313; }
/* status pills/badges — dark-tinted brand colors */
html.prime-theme .cp-status-pill.sent,
html.prime-theme .cp-status-badge.sent { background: rgba(236,72,153,0.10); color: #f9a8d4; }
html.prime-theme .cp-status-pill.pending,
html.prime-theme .cp-status-badge.pending,
html.prime-theme .cp-status-badge.paused { background: rgba(245,158,11,0.10); color: #fbd38d; }
html.prime-theme .cp-status-pill.failed { background: rgba(239,68,68,0.10); color: #fca5a5; }
html.prime-theme .cp-status-pill.opened { background: rgba(59,130,246,0.10); color: #93c5fd; }
html.prime-theme .cp-status-pill.replied { background: rgba(120,13,248,0.14); color: #c9b8ff; }
/* ==== END SECTION: campaigns-overview ==== */


/* ############################################################
   PAGE: inbox
   ############################################################ */
/* ==== SECTION: INBOX (/inbox — public/inbox.html + inbox.js + inbox-automation.js) ==== */

/* -- Token overrides: everything var-driven flips with these -- */
html.prime-theme {
  --ix-bg: #000000;
  --ix-card: #0d0d0d;
  --ix-border: #1f1f1f;
  --ix-text: #fafafa;
  --ix-muted: #a3a3a3;
  --ix-accent: #780df8;
}
html.prime-theme body { background: var(--ix-bg); color: var(--ix-text); font-family: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; }
html.prime-theme ::selection { background: rgba(255, 255, 255, 0.22); }
html.prime-theme ::-webkit-scrollbar-thumb { background: #2a2a2a; }
html.prime-theme ::-webkit-scrollbar-thumb:hover { background: #3a3a3a; }
html.prime-theme ::-webkit-scrollbar-track { background: transparent; }

/* -- Sidebar rail (already dark; align to pure-black shell) -- */
html.prime-theme .sidebar { background: #000000; }
html.prime-theme .sidebar-brand { color: #fafafa; }

/* -- Topbar -- */
html.prime-theme .ix-mark { background: linear-gradient(135deg, #262626, #3a3a3a); }

/* -- Channel chips (active = white pill, black text — preview style) -- */
html.prime-theme .ix-chip { background: transparent; border-color: #2e2e2e; color: #d4d4d4; }
html.prime-theme .ix-chip:hover { background: #161616; border-color: #3a3a3a; }
html.prime-theme .ix-chip.active { background: #fafafa; border-color: #fafafa; color: #000000; }

/* -- Gmail scope banner (amber, dark variant) -- */
html.prime-theme .ix-banner { border-color: rgba(243, 188, 86, 0.35); background: rgba(243, 188, 86, 0.08); color: #fbd38d; }
html.prime-theme .ix-banner a { color: #fbd38d; }
/* inline-style hotspot: #gmailUpgradeBtn ships style="border-color:#e3c98a; background:#fff;" */
html.prime-theme #gmailUpgradeBtn { background: #161616 !important; border-color: rgba(243, 188, 86, 0.5) !important; color: #fbd38d; }

/* -- Buttons / inputs (secondary = #161616 + #2e2e2e border) -- */
html.prime-theme .ix-btn { background: #161616; border-color: #2e2e2e; color: var(--ix-text); }
html.prime-theme .ix-btn.primary { background: #fafafa; border-color: #fafafa; color: #111; }
html.prime-theme .ix-btn.primary:hover { background: #e5e5e5; border-color: #e5e5e5; }
html.prime-theme .ix-icon-btn { background: #161616; border-color: #2e2e2e; color: #a3a3a3; }
html.prime-theme .ix-icon-btn:hover { color: #fafafa; }
html.prime-theme .ix-toolbar input[type="search"] { background: #0a0a0a; border-color: #2e2e2e; color: #fafafa; }
html.prime-theme .ix-toolbar input[type="search"]::placeholder { color: #737373; }
html.prime-theme .ix-toolbar input[type="search"]:focus { border-color: #4b4b4b; background: #0a0a0a; }
html.prime-theme .ix-toolbar select { background: #0a0a0a; border-color: #2e2e2e; color: #fafafa; }

/* -- Conversation list rows -- */
html.prime-theme .ix-row:hover { background: #121212; }
html.prime-theme .ix-row.selected { background: #161616; border-left-color: #6b6b6b; }
html.prime-theme .ix-row.unread .ix-snippet { color: #e5e5e5; }
html.prime-theme .ix-avatar { background: #262626; color: #a3a3a3; }
html.prime-theme .ix-row-meta { color: #737373; }
html.prime-theme .ix-time { color: #737373; font-family: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace; }
html.prime-theme .ix-snippet { color: #a3a3a3; }
html.prime-theme .ix-load-row .ix-btn { background: #161616; border-color: #2e2e2e; }
html.prime-theme .ix-profile-link { color: #70b5f9; }

/* Unread dot → burgundy with glow */
html.prime-theme .ix-dot { background: #fafafa; box-shadow: 0 0 6px rgba(255, 255, 255, 0.5); }

/* Channel tag pills → neutral base; per-channel brand color added by
   prime-inbox.js (prime-ch-* class from the tag's label) so you can tell
   Gmail / LinkedIn / Agent Mail / Outlook apart at a glance. */
html.prime-theme .ix-tag,
html.prime-theme .ix-tag.email,
html.prime-theme .ix-tag.agentmail,
html.prime-theme .ix-tag.linkedin,
html.prime-theme .ix-tag.other { background: #1a1a1a; color: #a3a3a3; border: 1px solid #2e2e2e; font-family: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace; }
html.prime-theme .ix-tag.prime-ch-gmail    { background: rgba(234,67,53,0.13);  color: #f28b82; border-color: rgba(234,67,53,0.32); }
html.prime-theme .ix-tag.prime-ch-linkedin { background: rgba(10,102,194,0.15);  color: #6aa9e6; border-color: rgba(10,102,194,0.38); }
html.prime-theme .ix-tag.prime-ch-agentmail{ background: rgba(139,92,246,0.15);  color: #b794f6; border-color: rgba(139,92,246,0.38); }
html.prime-theme .ix-tag.prime-ch-outlook  { background: rgba(0,114,198,0.15);   color: #4aa3e0; border-color: rgba(0,114,198,0.38); }
html.prime-theme .ix-tag.prime-ch-email    { background: rgba(16,185,129,0.12);  color: #6ee7b7; border-color: rgba(16,185,129,0.30); }
html.prime-theme .ix-tag.prime-ch-sent     { background: #1a1a1a; color: #a3a3a3; border-color: #2e2e2e; }
html.prime-theme .ix-reply-back { color: #fbd38d; background: rgba(243, 188, 86, 0.08); font-family: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace; }

/* -- Automation greens (list rows, badges, notes) — dark variants -- */
html.prime-theme .ix-row.ix-row-automated { background: rgba(16, 185, 129, 0.04); border-left-color: #10b981; box-shadow: inset 0 0 0 1px rgba(16, 185, 129, 0.25); }
html.prime-theme .ix-row.ix-row-automated:hover { background: rgba(16, 185, 129, 0.07); }
html.prime-theme .ix-row.ix-row-automated.selected { background: rgba(16, 185, 129, 0.10); box-shadow: inset 0 0 0 1px rgba(16, 185, 129, 0.35); }
html.prime-theme .ix-row.ix-row-bulk-selected { background: rgba(16, 185, 129, 0.08); box-shadow: inset 0 0 0 1px rgba(16, 185, 129, 0.30); }
html.prime-theme .ix-bulk-check input { accent-color: #10b981; }
html.prime-theme .ix-row-auto-note { color: #6ee7b7; }
html.prime-theme .ix-automated-badge { background: rgba(16, 185, 129, 0.08); color: #6ee7b7; font-family: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace; }

/* Bulk automation bar */
html.prime-theme .ix-bulk-bar { border-bottom-color: rgba(16, 185, 129, 0.30); background: rgba(16, 185, 129, 0.08); color: #6ee7b7; }
html.prime-theme .ix-bulk-btn { border-color: rgba(16, 185, 129, 0.35); background: #0d0d0d; color: #6ee7b7; }
html.prime-theme .ix-bulk-btn.primary { background: #10b981; border-color: #10b981; color: #fff; }

/* -- Account picker popover (under channel chips) -- */
html.prime-theme .ix-chip-pop { background: #0a0a0a; border-color: #2e2e2e; box-shadow: 0 12px 32px rgba(0, 0, 0, 0.6); }
html.prime-theme .ix-chip-pop .ix-pop-head { color: #737373; font-family: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace; }
html.prime-theme .ix-chip-pop button { color: #fafafa; }
html.prime-theme .ix-chip-pop button:hover { background: #161616; }
html.prime-theme .ix-chip-pop button.active { background: rgba(255, 255, 255, 0.14); }
html.prime-theme .ix-chip-pop button .ix-pop-check { color: #d4d4d4; }

/* -- Thread pane -- */
html.prime-theme .ix-auto-thread-status { border-color: rgba(16, 185, 129, 0.30); background: rgba(16, 185, 129, 0.08); color: #6ee7b7; font-family: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace; }
html.prime-theme .ix-auto-thread-status:hover { border-color: rgba(16, 185, 129, 0.50); background: rgba(16, 185, 129, 0.15); }
html.prime-theme .ix-msg.them { background: #1a1a1a; color: #e5e5e5; }
html.prime-theme .ix-msg.me { background: #fafafa; color: #111; }
html.prime-theme .ix-msg-meta { color: #737373; font-family: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace; }
html.prime-theme .ix-msg.me .ix-msg-meta { color: rgba(255, 255, 255, 0.65); }

/* Email cards (chrome only — the iframe body itself stays white, see NOTES) */
html.prime-theme .ix-email-card { background: #0d0d0d; border-color: #2e2e2e; box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4); }
html.prime-theme .ix-email-card.me { border-color: #3a3a3a; }
html.prime-theme .ix-email-meta { background: #131313; border-bottom-color: #1f1f1f; color: #a3a3a3; }
html.prime-theme .ix-email-body { background: #0d0d0d; }
html.prime-theme .ix-email-text { color: #e5e5e5; }

/* -- Composer -- */
html.prime-theme .ix-composer textarea { background: #0a0a0a; border-color: #2e2e2e; color: #fafafa; }
html.prime-theme .ix-composer textarea::placeholder { color: #737373; }
html.prime-theme .ix-composer textarea:focus { border-color: #4b4b4b; box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.06); }
html.prime-theme .ix-credit-hint { color: #737373; font-family: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace; }
html.prime-theme .ix-composer-automation { border-color: #2e2e2e; background: #131313; }
html.prime-theme .ix-auto-composer-title { color: #fafafa; }
html.prime-theme .ix-auto-composer-sub { color: #a3a3a3; }
html.prime-theme .ix-auto-composer-btn { background: #161616; border-color: #2e2e2e; color: #fafafa; }
html.prime-theme .ix-auto-composer-btn:hover { background: #1f1f1f; border-color: #3a3a3a; }
html.prime-theme .ix-auto-composer-btn.ix-automate-on,
html.prime-theme .ix-automate-btn.ix-automate-on { background: rgba(16, 185, 129, 0.10); border-color: rgba(16, 185, 129, 0.40); color: #6ee7b7; }

/* -- Compose-new-email form (Agent Mail) + settings pane -- */
html.prime-theme .ix-compose input, html.prime-theme .ix-compose textarea { background: #0a0a0a; border-color: #2e2e2e; color: #fafafa; }
html.prime-theme .ix-compose input::placeholder, html.prime-theme .ix-compose textarea::placeholder { color: #737373; }
html.prime-theme .ix-compose input:focus, html.prime-theme .ix-compose textarea:focus { border-color: #4b4b4b; box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.06); }
html.prime-theme .ix-settings-label { font-family: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace; }

/* -- Automation setup modal (inbox-automation.js) -- */
html.prime-theme .ix-auto-overlay { background: rgba(0, 0, 0, 0.60); }
html.prime-theme .ix-auto-modal { background: #0d0d0d; box-shadow: 0 0 0 1px #2e2e2e, 0 24px 64px rgba(0, 0, 0, 0.70); }
html.prime-theme .ix-auto-chat { background: #0a0a0a; }
html.prime-theme .ix-auto-bubble.bot { background: #1a1a1a; color: #e5e5e5; }
html.prime-theme .ix-auto-bubble.user { background: #fafafa; color: #111; }
html.prime-theme .ix-auto-options button { border-color: #2e2e2e; background: #161616; color: #fafafa; }
html.prime-theme .ix-auto-options button:hover { border-color: #4b4b4b; background: #1f1f1f; }
html.prime-theme .ix-auto-progress { background: #262626; }
html.prime-theme .ix-auto-progress span { background: #10b981; }
html.prime-theme .ix-auto-err { color: #ff6b8f; }
html.prime-theme .ix-auto-compose { background: #0d0d0d; }
html.prime-theme .ix-auto-compose input { background: #0a0a0a; border-color: #2e2e2e; color: #fafafa; }
html.prime-theme .ix-auto-compose input::placeholder { color: #737373; }
html.prime-theme .ix-auto-compose input:focus { border-color: #4b4b4b; box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.06); }

/* -- Toast -- */
html.prime-theme .ix-toast { background: #262626; color: #fafafa; box-shadow: 0 0 0 1px #3a3a3a, 0 12px 32px rgba(0, 0, 0, 0.55); }
html.prime-theme .ix-toast.error { background: #b91c1c; box-shadow: 0 12px 32px rgba(0, 0, 0, 0.55); }
/* ==== END SECTION: INBOX ==== */


/* ############################################################
   PAGE: contacts
   ############################################################ */
/* ==== SECTION: CONTACTS (public/contacts.html) ==== */
/* Contacts loads expo-theme.css which paints .main-content with a LIGHT
   --expo-bg, and a dashboard overlay that "wins the cascade". Force the
   content wrapper + expo bg var dark so the page background is not white. */
html.prime-theme { --expo-bg: #000000 !important; }
html.prime-theme .main-content { background: #000000 !important; }
html.prime-theme .crm-panel { background: transparent !important; }


/* ── Page base ── */
html.prime-theme body { background: #000000; color: #fafafa; color-scheme: dark; }
html.prime-theme .crm-header h1 { color: #fafafa; }
html.prime-theme .crm-stats { color: #a3a3a3; }
html.prime-theme .crm-stats strong { color: #fafafa; font-family: 'IBM Plex Mono', ui-monospace, monospace; }
html.prime-theme .stat-sep { color: #3f3f3f; }
html.prime-theme .stat-enrich { color: #a3a3a3; }
html.prime-theme .stat-enrich strong { color: #d4d4d4; font-family: 'IBM Plex Mono', ui-monospace, monospace; }
html.prime-theme .stat-enrich:hover { color: #fafafa; }
html.prime-theme .mobile-hamburger { color: #fafafa; }
html.prime-theme .loading, html.prime-theme .crm-empty { color: #737373; }
html.prime-theme .crm-empty svg { stroke: #3f3f3f; }
html.prime-theme .crm-empty h3 { color: #d4d4d4; }
html.prime-theme .empty-find-leads-btn,
html.prime-theme .chat-leadfind-cta { background: #fafafa; color: #111; }
html.prime-theme .empty-find-leads-btn:hover,
html.prime-theme .chat-leadfind-cta:hover { background: #e5e5e5; }

/* ── Toolbar: search / selects / header buttons ── */
html.prime-theme .crm-search { background: #0a0a0a; border-color: #2e2e2e; color: #fafafa; }
html.prime-theme .crm-search::placeholder { color: #737373; }
html.prime-theme .crm-search:focus { border-color: #4b4b4b; box-shadow: 0 0 0 3px rgba(255,255,255,.06); }
html.prime-theme .crm-filter { background: #161616; border-color: #2e2e2e; color: #fafafa; }
html.prime-theme .add-contact-btn { background: #fafafa; color: #111; }
html.prime-theme .add-contact-btn:hover { background: #e5e5e5; }
html.prime-theme .csv-find-btn { background: #161616; color: #fafafa; }
html.prime-theme .csv-find-btn:hover { background: #262626; }
html.prime-theme .hs-browse-btn[disabled] { background: #262626; color: #737373; }

/* ── Quick-filter chips (dark, white active) ── */
html.prime-theme .qchip { background: transparent; border-color: #2e2e2e; color: #d4d4d4; }
html.prime-theme .qchip:hover { border-color: #3f3f3f; background: #161616; }
html.prime-theme .qchip.active { background: #fafafa; border-color: #fafafa; color: #000; }
html.prime-theme .qchip.active .qdot { box-shadow: 0 0 0 2px rgba(0,0,0,.25); }
/* qdot colors are inline style="" from markup — must out-rank with !important */
html.prime-theme .qchip[data-status="none"] .qdot { background: #737373 !important; }
html.prime-theme .qchip[data-status="sent"] .qdot { background: #a3a3a3 !important; }
html.prime-theme .qchip[data-status="replied"] .qdot { background: #10b981 !important; }
html.prime-theme .qchip[data-status="followed_up"] .qdot { background: #a3a3a3 !important; }
html.prime-theme .qchip.active .qdot { background: #000 !important; }

/* ── Table surface card + sticky header ── */
html.prime-theme .crm-card { background: #0d0d0d; box-shadow: 0 0 0 1px #1f1f1f; }
html.prime-theme .crm-table-wrap { background: #0d0d0d; box-shadow: none; }
html.prime-theme .crm-table thead th { background: #0d0d0d; color: #737373; border-bottom-color: #1f1f1f; font-family: 'IBM Plex Mono', ui-monospace, monospace; }
html.prime-theme .crm-table thead th[data-sort]:hover { color: #a3a3a3; }
html.prime-theme .crm-table tbody td { background: #0d0d0d; border-bottom-color: #1f1f1f; color: #d4d4d4; }
html.prime-theme .crm-table tbody tr.contact-summary-row:hover td { background: #131313; }
html.prime-theme .crm-table tbody tr.row-selected td { background: #1a1a1a; }
html.prime-theme .crm-table tbody tr.row-selected:hover td { background: #1f1f1f; }
html.prime-theme .c-check-th input, html.prime-theme .c-row-check { accent-color: #780df8; }

/* identity cell */
html.prime-theme .c-avatar { background: #262626 !important; color: #a3a3a3; box-shadow: 0 1px 2px rgba(0,0,0,.5); }
html.prime-theme .c-name { color: #fafafa; }
html.prime-theme .c-details { color: #737373; }
html.prime-theme .c-engage { color: #a3a3a3; }
html.prime-theme .c-engage.repd { color: #6ee7b7; }
html.prime-theme .c-sub { color: #a3a3a3; }
html.prime-theme .c-sub.empty { color: #737373; }

/* reach chips — on = dark chip, off = dashed #3f3f3f */
html.prime-theme .reach-chip.on { background: #1a1a1a; color: #d4d4d4; border-color: #2e2e2e; }
html.prime-theme .reach-chip.off { background: transparent; color: #3f3f3f; border-color: #3f3f3f; }
html.prime-theme a.reach-chip.on:hover { filter: brightness(1.3); }

/* status pills — dark variants (replied green, sent burgundy-tint) */
html.prime-theme .st-none { background: #1a1a1a; color: #a3a3a3; border-color: #2e2e2e; }
html.prime-theme .st-none .st-dot { background: #737373; }
html.prime-theme .st-sent { background: #1f1f1f; color: #d4d4d4; border-color: #3a3a3a; }
html.prime-theme .st-sent .st-dot { background: #a3a3a3; }
html.prime-theme .st-followed_up { background: #1a1a1a; color: #d4d4d4; border-color: #2e2e2e; }
html.prime-theme .st-followed_up .st-dot { background: #a3a3a3; }
html.prime-theme .st-replied { background: rgba(16,185,129,.08); color: #6ee7b7; border-color: rgba(16,185,129,.25); }
html.prime-theme .st-replied .st-dot { background: #10b981; }
html.prime-theme .st-sub { color: #737373; }

/* channel tag / source / fit meter */
html.prime-theme .ch-tag { background: #1a1a1a; color: #a3a3a3; border-color: #2e2e2e; }
html.prime-theme .ch-empty, html.prime-theme .fit-none,
html.prime-theme .src-none, html.prime-theme .c-source-empty { color: #737373; }
html.prime-theme .src-pill { background: #161616; border-color: #2e2e2e; color: #a3a3a3; }
html.prime-theme .fit-track { background: #262626; }
html.prime-theme .fit-fill { background: #a3a3a3 !important; } /* inline background:#3a3f47 from JS */
html.prime-theme .fit-val { color: #d4d4d4; font-family: 'IBM Plex Mono', ui-monospace, monospace; }

/* legacy badges (metadata threads etc.) */
html.prime-theme .badge-sent { background: #1f1f1f; color: #d4d4d4; }
html.prime-theme .badge-replied { background: rgba(16,185,129,.08); color: #6ee7b7; }
html.prime-theme .badge-followed_up { background: rgba(243,188,86,.12); color: #fbd38d; }
html.prime-theme .badge-none { background: #1a1a1a; color: #737373; border-color: #2e2e2e; }

/* row actions */
html.prime-theme .row-actions button { color: #737373; }
html.prime-theme .row-actions button:hover { background: #262626; color: #fafafa; }

/* contact email / link cells */
html.prime-theme .contact-email-cell a, html.prime-theme .contact-link-btn { color: #d4d4d4; }
html.prime-theme .contact-copy-mini { background: #161616; border-color: #2e2e2e; color: #d4d4d4; }
html.prime-theme .contact-copy-mini:hover { background: #262626; }

/* ── Bulk bar (harmonize) ── */
html.prime-theme .bulk-bar { background: #0d0d0d; box-shadow: 0 0 0 1px #2e2e2e, 0 14px 34px rgba(0,0,0,.55); }
html.prime-theme .bulk-bar .bulk-count strong { font-family: 'IBM Plex Mono', ui-monospace, monospace; }
html.prime-theme .bulk-btn.primary { background: #fafafa; color: #111; border-color: #fafafa; }
html.prime-theme .bulk-btn.primary:hover { background: #e5e5e5; border-color: #e5e5e5; }
html.prime-theme .bulk-btn.ghost { color: #a3a3a3; }

/* ── Pagination ── */
html.prime-theme .crm-pagination button { background: transparent; border-color: #2e2e2e; color: #a3a3a3; }
html.prime-theme .crm-pagination button:hover:not(:disabled):not(.active) { background: #161616; color: #fafafa; }
html.prime-theme .crm-pagination button.active { background: #fafafa; color: #000; border-color: #fafafa; }

/* ── Detail rows (expanded contact) ── */
html.prime-theme .contact-detail-row td { background: #0d0d0d; }
html.prime-theme .contact-detail-panel { background: #131313; border-color: #2e2e2e; box-shadow: 0 8px 22px rgba(0,0,0,.5); }
html.prime-theme .contact-detail-title strong { color: #fafafa; }
html.prime-theme .contact-detail-title span { color: #a3a3a3; }
html.prime-theme .contact-action-btn { background: #161616; border-color: #2e2e2e; color: #fafafa; }
html.prime-theme .contact-action-btn:hover { background: #1f1f1f; }
html.prime-theme .contact-detail-section { border-top-color: #1f1f1f; }
html.prime-theme .contact-detail-section h4 { color: #737373; }
html.prime-theme .contact-detail-kv dt { color: #737373; }
html.prime-theme .contact-detail-kv dd { color: #d4d4d4; }
html.prime-theme .contact-detail-muted { color: #a3a3a3; }
html.prime-theme .contact-detail-icp { background: #0a0a0a; border-color: #1f1f1f; color: #a3a3a3; }
html.prime-theme .contact-chip { background: #262626; color: #d4d4d4; }
html.prime-theme .contact-origin-pill { background: #1a1a1a; color: #a3a3a3; }
html.prime-theme .contact-fit-pill { background: rgba(16,185,129,.08); color: #6ee7b7; }
html.prime-theme .contact-fit-pill.strong { background: #1f1f1f; color: #d4d4d4; }
html.prime-theme .contact-fit-pill.good { background: #1a1a1a; color: #a3a3a3; }

/* ── Ask-Geo chat panel ── */
html.prime-theme .chat-panel { background: #0d0d0d; border-left-color: #1f1f1f; }
html.prime-theme .chat-header { border-bottom-color: #1f1f1f; color: #fafafa; }
html.prime-theme .chat-header svg { stroke: #fafafa; }
html.prime-theme .chat-header img { background: #f4f4ef; }
html.prime-theme .chat-header .mobile-close { color: #a3a3a3; }
html.prime-theme .chat-msg.user { background: #fafafa; color: #111; }
html.prime-theme .chat-msg.assistant { background: #1a1a1a; color: #d4d4d4; }
html.prime-theme .chat-typing { background: #1a1a1a; color: #737373; }
html.prime-theme .chat-input-area { border-top-color: #1f1f1f; }
html.prime-theme .chat-input { background: #0a0a0a; border-color: #2e2e2e; color: #fafafa; }
html.prime-theme .chat-input::placeholder { color: #737373; }
html.prime-theme .chat-input:focus { border-color: #4b4b4b; }
html.prime-theme .chat-send { background: #fafafa; color: #111; }
html.prime-theme .chat-send:hover { background: #e5e5e5; }
html.prime-theme .chat-collapse-btn { color: #737373; }
html.prime-theme .chat-collapse-btn:hover { background: #262626; color: #fafafa; }
html.prime-theme .chat-expand-rail { color: #737373; }
html.prime-theme .chat-expand-rail:hover { background: #131313; color: #fafafa; }
html.prime-theme .chat-expand-rail:hover .chat-rail-label { color: #fafafa; }
html.prime-theme .chat-expand-rail img { background: #f4f4ef; }
html.prime-theme .chat-rail-label { color: #737373; font-family: 'IBM Plex Mono', ui-monospace, monospace; }
html.prime-theme .mobile-chat-btn { background: #fafafa; color: #111; box-shadow: 0 4px 12px rgba(0,0,0,.5); }

/* ── Add/Edit modal ── */
html.prime-theme .modal-overlay { background: rgba(0,0,0,0.6); }
html.prime-theme .modal { background: #0d0d0d; color: #fafafa; box-shadow: 0 0 0 1px #1f1f1f, 0 24px 60px rgba(0,0,0,.6); }
html.prime-theme .modal-field label { color: #a3a3a3; }
html.prime-theme .modal-field input, html.prime-theme .modal-field textarea { background: #0a0a0a; border-color: #2e2e2e; color: #fafafa; }
html.prime-theme .modal-field input:focus, html.prime-theme .modal-field textarea:focus { border-color: #4b4b4b; }
html.prime-theme .btn-cancel { background: #161616; border-color: #2e2e2e; color: #d4d4d4; }
html.prime-theme .btn-save { background: #fafafa; border-color: #fafafa; color: #111; }
html.prime-theme .btn-save:hover { background: #e5e5e5; border-color: #e5e5e5; }
html.prime-theme .btn-delete { background: rgba(255,32,86,.12); color: #ff6b8f; border-color: rgba(255,32,86,.35); }
html.prime-theme .btn-delete:hover { background: rgba(255,32,86,.22); }

/* ── HubSpot live-browse panel ── */
html.prime-theme #hubspotBrowsePanel h2 { color: #fafafa !important; } /* inline color:#111 */
html.prime-theme #hubspotBrowsePanel .hs-browse-toolbar label { color: #a3a3a3 !important; } /* inline color:#4b5563 */
html.prime-theme .hs-browse-toolbar select { background: #161616; border-color: #2e2e2e; color: #fafafa; }
html.prime-theme .hs-browse-status { color: #a3a3a3; }
html.prime-theme .hs-browse-back { border-color: #2e2e2e; color: #d4d4d4; }
html.prime-theme .hs-browse-table-wrap { background: #0d0d0d; border-color: #1f1f1f; }
html.prime-theme .hs-browse-table th { background: #131313; color: #737373; border-bottom-color: #1f1f1f; font-family: 'IBM Plex Mono', ui-monospace, monospace; }
html.prime-theme .hs-browse-table td { color: #d4d4d4; border-bottom-color: #1f1f1f; }
html.prime-theme .hs-browse-table tr:hover td { background: #131313; }
html.prime-theme .hs-browse-table input[type="checkbox"] { accent-color: #780df8; }
html.prime-theme .hs-browse-footer { background: linear-gradient(to bottom, transparent, #000 30%); }
html.prime-theme .hs-browse-footer .hs-count { color: #a3a3a3; }
html.prime-theme .hs-browse-footer .hs-load-more { background: #161616; border-color: #2e2e2e; color: #d4d4d4; }
html.prime-theme .hs-browse-footer .hs-load-more[disabled] { color: #555; }
html.prime-theme .hs-browse-footer .hs-start-campaign { background: #fafafa; color: #111; }
html.prime-theme .hs-browse-footer .hs-start-campaign:hover { background: #e5e5e5; }
html.prime-theme .hs-browse-footer .hs-start-campaign[disabled] { background: #262626; color: #737373; }
html.prime-theme .hs-browse-empty { color: #a3a3a3; }
html.prime-theme .hs-browse-error { background: rgba(255,32,86,.08); border-color: rgba(255,32,86,.3); color: #ff6b8f; }

/* ── CSV find panel ── */
html.prime-theme #csvFindPanel h2 { color: #fafafa !important; } /* inline color:#111 */
html.prime-theme .csv-find-intro { color: #a3a3a3; }
html.prime-theme .csv-find-intro strong { color: #fafafa; }
html.prime-theme .csv-find-toolbar select { background: #161616; border-color: #2e2e2e; color: #fafafa; }
html.prime-theme .csv-find-toolbar label { color: #a3a3a3; }
html.prime-theme .csv-file-pick { background: #161616; border-color: #2e2e2e; color: #fafafa; }
html.prime-theme .csv-file-pick:hover { background: #1f1f1f; border-color: #3f3f3f; }
html.prime-theme .csv-file-input:focus-visible + .csv-file-pick { outline-color: #fafafa; }
html.prime-theme .csv-file-name { color: #737373; }
html.prime-theme .csv-file-name.has-file { color: #fafafa; }
html.prime-theme .csv-find-status { color: #a3a3a3; }
html.prime-theme .csv-find-go { background: #fafafa; color: #111; }
html.prime-theme .csv-find-go:hover:not([disabled]) { background: #e5e5e5; }
html.prime-theme .csv-find-go[disabled] { background: #262626; color: #737373; }
html.prime-theme .csv-progress-wrap { background: #262626; }
html.prime-theme .csv-progress-bar { background: #a3a3a3; }
html.prime-theme .csv-summary span { color: #a3a3a3; }
html.prime-theme .csv-find-table-wrap { background: #0d0d0d; border-color: #1f1f1f; }
html.prime-theme .csv-find-table th { background: #131313; color: #737373; border-bottom-color: #1f1f1f; font-family: 'IBM Plex Mono', ui-monospace, monospace; }
html.prime-theme .csv-find-table td { color: #d4d4d4; border-bottom-color: #1f1f1f; }
html.prime-theme .conf-high { background: rgba(16,185,129,.08); color: #6ee7b7; }
html.prime-theme .conf-medium { background: rgba(243,188,86,.12); color: #fbd38d; }
html.prime-theme .conf-low { background: #1a1a1a; color: #a3a3a3; }
html.prime-theme .conf-warn { color: #fbd38d; }
html.prime-theme .csv-unmatched h3 { color: #d4d4d4; }
html.prime-theme .csv-unmatched-list { color: #737373; }
html.prime-theme .csv-find-footer .csv-count { color: #a3a3a3; }
html.prime-theme .csv-find-footer .csv-start { background: #fafafa; color: #111; }
html.prime-theme .csv-find-footer .csv-start:hover:not([disabled]) { background: #e5e5e5; }
html.prime-theme .csv-find-footer .csv-start[disabled] { background: #262626; color: #737373; }
html.prime-theme .csv-find-footer .csv-done { background: #161616; border-color: #2e2e2e; color: #d4d4d4; }

/* ── Metadata view (#metadata hash) ── */
html.prime-theme .md-header h1 { color: #fafafa; }
html.prime-theme .md-header .md-sub { color: #a3a3a3; }
html.prime-theme .md-search { background: #0a0a0a; border-color: #2e2e2e; color: #fafafa; }
html.prime-theme .md-search:focus { border-color: #4b4b4b; }
html.prime-theme .md-card { background: #0d0d0d; border-color: #1f1f1f; }
html.prime-theme .md-card:hover { border-color: #3a3a3a; }
html.prime-theme .md-avatar { background: #262626; color: #a3a3a3; }
html.prime-theme .md-name { color: #fafafa; }
html.prime-theme .md-sub-id { color: #737373; }
html.prime-theme .md-source { background: #1a1a1a; color: #a3a3a3; }
html.prime-theme .md-body { border-top-color: #1f1f1f; background: #0a0a0a; }
html.prime-theme .md-section-title { color: #737373; }
html.prime-theme .md-section-title .md-count { background: #262626; color: #a3a3a3; }
html.prime-theme .md-kv dt { color: #737373; }
html.prime-theme .md-kv dd { color: #d4d4d4; }
html.prime-theme .md-kv dd a { color: #d4d4d4; }
html.prime-theme .md-thread { background: #131313; border-color: #2e2e2e; }
html.prime-theme .md-thread-head { color: #a3a3a3; }
html.prime-theme .md-thread-subject { color: #fafafa; }
html.prime-theme .md-thread-body { color: #a3a3a3; }
html.prime-theme .md-reply-note { background: rgba(16,185,129,.08); color: #6ee7b7; }
html.prime-theme .md-badge { background: #262626; color: #a3a3a3; }
html.prime-theme .md-badge.replied { background: rgba(16,185,129,.08); color: #6ee7b7; }
html.prime-theme .md-badge.sent { background: #1f1f1f; color: #d4d4d4; }
html.prime-theme .md-badge.pending { background: rgba(243,188,86,.12); color: #fbd38d; }
html.prime-theme .md-errors { background: rgba(255,32,86,.08); border-color: rgba(255,32,86,.3); color: #ff6b8f; }
html.prime-theme .md-load-more, html.prime-theme .md-loading, html.prime-theme .md-empty { color: #a3a3a3; }
html.prime-theme .md-load-btn { background: #fafafa; color: #111; }
html.prime-theme .md-load-btn:hover { background: #e5e5e5; }
html.prime-theme .md-empty div[style*="color:#111"] { color: #fafafa !important; }
html.prime-theme .md-empty div[style*="color:#6b7280"] { color: #a3a3a3 !important; }
html.prime-theme .md-empty .md-empty-cta { border-color: #fafafa; color: #fafafa; }

/* ── Toasts / error states ── */
html.prime-theme .contacts-toast { background: #161616; color: #fafafa; box-shadow: 0 0 0 1px #2e2e2e, 0 10px 28px rgba(0,0,0,.55); }
html.prime-theme .contacts-error-toast { background: #161616; color: #fafafa; box-shadow: 0 0 0 1px #2e2e2e, 0 12px 32px rgba(0,0,0,.55); }
html.prime-theme #contactsRetryBtn { background: #fafafa !important; color: #111 !important; } /* inline background:#18181b */

/* ==== END SECTION: CONTACTS ==== */


/* ############################################################
   PAGE: database
   ############################################################ */
/* ==== SECTION: COMPANY DATABASE (public/database.html) ==== */

/* Page canvas + type */
html.prime-theme body {
  background: #000000;
  color: #fafafa;
  font-family: "IBM Plex Sans", Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
html.prime-theme .db-main { background: #000000; }
html.prime-theme .db-main::-webkit-scrollbar-thumb { background: #2a2a2a; }
html.prime-theme .db-main::-webkit-scrollbar-track { background: transparent; }
html.prime-theme .db-main { scrollbar-color: #2a2a2a transparent; }

/* Topbar */
html.prime-theme .db-title { color: #fafafa; }
html.prime-theme .db-sub { color: #a3a3a3; }
html.prime-theme .db-status { color: #a3a3a3; font-family: "IBM Plex Mono", monospace; }
html.prime-theme .db-status.ok { color: #6ee7b7; }
html.prime-theme .db-status.error { color: #ff6b8f; }

/* Panels */
html.prime-theme .db-panel {
  background: #0d0d0d;
  border-color: #1f1f1f;
}
html.prime-theme .db-panel-head { border-bottom-color: #1f1f1f; }
html.prime-theme .db-panel-title { color: #fafafa; }
html.prime-theme .db-panel-sub { color: #a3a3a3; }

/* Upload dropzone */
html.prime-theme .db-upload-zone {
  border-color: #3a3a3a;
  background: #0a0a0a;
}
html.prime-theme .db-upload-zone:hover {
  border-color: #9b4dff;
  background: rgba(120, 13, 248, 0.05);
}
html.prime-theme .db-upload-zone.drag {
  border-color: #9b4dff;
  background: rgba(120, 13, 248, 0.10);
}
html.prime-theme .db-upload-icon {
  border-color: #2e2e2e;
  background: #131313;
  color: #737373;
}
html.prime-theme .db-upload-title { color: #fafafa; }
html.prime-theme .db-upload-meta { color: #737373; }

/* Buttons — primary -> burgundy */
html.prime-theme .db-btn {
  background: #780df8;
  border-color: #780df8;
  color: #fff;
}
html.prime-theme .db-btn:hover {
  background: #6a0be0;
  border-color: #6a0be0;
}
html.prime-theme .db-btn.secondary {
  background: #161616;
  color: #fafafa;
  border-color: #2e2e2e;
}
html.prime-theme .db-btn.secondary:hover {
  background: #1c1c1c;
  border-color: #3a3a3a;
}
html.prime-theme .db-btn.danger {
  background: transparent;
  color: #ff6b8f;
  border-color: rgba(255, 32, 86, 0.35);
}
html.prime-theme .db-btn.danger:hover {
  background: rgba(255, 32, 86, 0.08);
  border-color: rgba(255, 32, 86, 0.55);
}

/* Upload progress */
html.prime-theme .db-progress-track { background: #262626; }
html.prime-theme .db-progress-fill { background: #a3a3a3; }
html.prime-theme .db-progress-text { color: #a3a3a3; }

/* Inputs */
html.prime-theme .db-input,
html.prime-theme .db-textarea {
  background: #0a0a0a;
  border-color: #2e2e2e;
  color: #fafafa;
}
html.prime-theme .db-input::placeholder,
html.prime-theme .db-textarea::placeholder { color: #737373; }
html.prime-theme .db-input:focus,
html.prime-theme .db-textarea:focus {
  border-color: #4b4b4b;
  box-shadow: none;
}

/* Gmail row */
html.prime-theme .db-gmail-state { color: #fafafa; }
html.prime-theme .db-gmail-email {
  color: #6ee7b7;
  font-family: "IBM Plex Mono", monospace;
}

/* Section labels + empty state */
html.prime-theme .db-section-label {
  color: #737373;
  font-family: "IBM Plex Mono", monospace;
}
html.prime-theme .db-empty {
  border-color: #2e2e2e;
  color: #737373;
}

/* Saved items list */
html.prime-theme .db-item {
  background: #0d0d0d;
  border-color: #1f1f1f;
}
html.prime-theme .db-item:hover { border-color: #3a3a3a; }
html.prime-theme .db-item-icon {
  background: #1a1a1a;
  color: #a3a3a3;
  font-family: "IBM Plex Mono", monospace;
}
html.prime-theme .db-item-title { color: #fafafa; }
html.prime-theme .db-item-meta {
  color: #737373;
  font-family: "IBM Plex Mono", monospace;
}

/* Sign-in banner — dark amber tint */
html.prime-theme .db-signin {
  background: rgba(243, 188, 86, 0.08);
  border-color: rgba(243, 188, 86, 0.35);
  color: #fbd38d;
}
html.prime-theme .db-signin a { color: #fbd38d; }

/* Toast */
html.prime-theme .db-toast {
  background: #1a1a1a;
  color: #fafafa;
  box-shadow: 0 0 0 1px #2e2e2e, 0 18px 40px rgba(0, 0, 0, 0.6);
}
/* ==== END SECTION: COMPANY DATABASE ==== */


/* ############################################################
   PAGE: ai-agents
   ############################################################ */
/* ==== SECTION: GEO AGENT (/ai-agents.html) ==== */

/* Token flip — the page drives most colors off its --ink-* ramp and --da-* overlay
   vars, INCLUDING several inline style="" attributes that reference var(--ink-*).
   Scoped to this page via :has(#aiAgentsMain) so the flip can't leak to other pages. */
html.prime-theme body:has(main#aiAgentsMain) {
  background: #000000;
  color: #fafafa;
  --bg: #000000;
  --ink-50: #161616;
  --ink-100: #1f1f1f;
  --ink-200: #2e2e2e;
  --ink-300: #3a3a3a;
  --ink-400: #737373;
  --ink-500: #a3a3a3;
  --ink-600: #d4d4d4;
  --ink-700: #e5e5e5;
  --ink-800: #e5e5e5;
  --ink-900: #fafafa;
  --da-accent: #780df8;
  --da-accent-hover: #6a0be0;
  --da-border: #2e2e2e;
  --da-shadow-card: rgba(255,255,255,0.06) 0 0 0 1px, rgba(0,0,0,0.4) 0 2px 2px;
}

/* Paper grain: dark dots on black */
html.prime-theme #aiAgentsMain .paper-grain {
  background-image: radial-gradient(#242424 1px, transparent 1px), radial-gradient(#242424 1px, transparent 1px);
}

/* Testimonial columns */
html.prime-theme #aiAgentsMain .testimonial-card {
  background: #0d0d0d;
  border-color: #1f1f1f;
  box-shadow: none;
}
html.prime-theme #aiAgentsMain .testimonial-quote { color: #a3a3a3; }
html.prime-theme #aiAgentsMain .testimonial-meta { border-top-color: #1f1f1f; }
html.prime-theme #aiAgentsMain .testimonial-avatar { background: #262626; color: #fafafa; }
html.prime-theme #aiAgentsMain .testimonial-name { color: #fafafa; }
html.prime-theme #aiAgentsMain .testimonial-role { color: #737373; }

/* Hero */
html.prime-theme #aiAgentsMain .hero-logo {
  background: #f4f4ef; /* preview keeps the logo tile light so the mark stays visible */
  box-shadow: 0 8px 24px -10px rgba(0,0,0,0.6);
}
html.prime-theme #aiAgentsMain .hero-title { color: #fafafa; }
html.prime-theme #aiAgentsMain .hero-title .italic { color: #737373; }
html.prime-theme #aiAgentsMain .hero-sub { color: #a3a3a3; }

/* Composer (hero + fixed chat composer share .composer) */
html.prime-theme #aiAgentsMain .composer {
  background: #0d0d0d;
  border-color: #2e2e2e;
  box-shadow: 0 18px 46px -18px rgba(0,0,0,0.7);
}
html.prime-theme #aiAgentsMain .composer:focus-within {
  border-color: #6b6b6b;
  box-shadow: 0 22px 50px -18px rgba(0,0,0,0.8);
}
html.prime-theme #aiAgentsMain .composer textarea { color: #fafafa; }
html.prime-theme #aiAgentsMain .composer textarea::placeholder { color: #737373; }
/* #agentNotesSend carries inline style="background:var(--ink-900);color:#fff;border-color:var(--ink-900)" — !important required */
html.prime-theme #aiAgentsMain .composer-mic {
  background: #fafafa !important;
  border-color: #fafafa !important;
  color: #111 !important;
}
html.prime-theme #aiAgentsMain .composer-mic:hover {
  background: #e5e5e5 !important;
  border-color: #e5e5e5 !important;
}
html.prime-theme #aiAgentsMain .composer-fixed .composer-send {
  background: #fafafa;
  border-color: #fafafa;
  color: #111;
}
html.prime-theme #aiAgentsMain .composer-fixed .composer-send:hover {
  background: #e5e5e5;
  border-color: #e5e5e5;
}
html.prime-theme #aiAgentsMain .composer-fixed {
  background: linear-gradient(to top, #000000 72%, transparent);
}

/* Developer-access line (inline var(--ink-*) colors — belt and braces over the var flip) */
html.prime-theme #aiAgentsMain .dev-access-line { color: #737373 !important; }
html.prime-theme #aiAgentsMain #copyPromptBtn,
html.prime-theme #aiAgentsMain #mcpPageLink { color: #a3a3a3 !important; }
html.prime-theme #aiAgentsMain #copyPromptBtn:hover,
html.prime-theme #aiAgentsMain #mcpPageLink:hover { color: #fafafa !important; }
html.prime-theme #aiAgentsMain .dev-access-line > span { color: #3a3a3a !important; }

/* Legacy primary CTA class + status line */
html.prime-theme #aiAgentsMain .copy-prompt-btn {
  background: #fafafa;
  color: #111;
  box-shadow: 0 18px 40px -18px rgba(0,0,0,0.6);
}
html.prime-theme #aiAgentsMain .copy-prompt-btn:hover { background: #e5e5e5; }
html.prime-theme #aiAgentsMain .copy-prompt-status { color: #a3a3a3; }
html.prime-theme #aiAgentsMain .copy-prompt-status.ok { color: #6ee7b7; }
html.prime-theme #aiAgentsMain .copy-prompt-status.error { color: #ff6b8f; }

/* Starter context + sample chips */
html.prime-theme #aiAgentsMain .starter-audience-context { color: #a3a3a3; }
html.prime-theme #aiAgentsMain .starter-context-kicker {
  background: rgba(13,13,13,0.72);
  border-color: #2e2e2e;
  color: #d4d4d4;
  font-family: 'IBM Plex Mono', ui-monospace, 'SF Mono', monospace;
}
html.prime-theme #aiAgentsMain .sample-chip {
  background: rgba(13,13,13,0.88);
  border-color: #2e2e2e;
  color: #d4d4d4;
}
html.prime-theme #aiAgentsMain .sample-chip:hover {
  background: #161616;
  border-color: #fafafa;
  color: #fafafa;
}
html.prime-theme #aiAgentsMain .helper-line { color: #737373; }

/* Chat */
html.prime-theme #aiAgentsMain .chat-avatar { background: #1f1f1f; }
/* Kill the full-width row fill. The unscoped "html.prime-theme .chat-msg.user
   { background: #fafafa }" rule (above, for the Ask-Geo side panel) leaked onto
   this page and painted every user turn as a solid full-width bar. The bubble
   carries the color; the row never does. */
html.prime-theme #aiAgentsMain .chat-msg,
html.prime-theme #aiAgentsMain .chat-msg.user { background: transparent; }
html.prime-theme #aiAgentsMain .chat-bubble { color: #fafafa; }
html.prime-theme #aiAgentsMain .chat-msg.bot .chat-bubble {
  background: #0d0d0d;
  border-color: #2e2e2e;
  box-shadow: 0 1px 2px rgba(0,0,0,0.4);
  border-bottom-left-radius: 6px;
}
html.prime-theme #aiAgentsMain .chat-msg.user .chat-bubble {
  background: #fafafa;
  color: #111;
  border-bottom-right-radius: 6px;
}
html.prime-theme #aiAgentsMain .chat-connect-btn { background: #fafafa; color: #111; }
html.prime-theme #aiAgentsMain .chat-connect-btn:hover { background: #e5e5e5; }
html.prime-theme #aiAgentsMain .chat-connect-link { color: #fafafa; }
html.prime-theme #aiAgentsMain .chat-typing span { background: #737373; }
html.prime-theme #aiAgentsMain .agents-chat-topbar {
  background: linear-gradient(to bottom, #000000 80%, transparent);
}
html.prime-theme #aiAgentsMain .agents-chat-topbar-label { color: #a3a3a3; }
html.prime-theme #aiAgentsMain .agents-chat-topbar-copy {
  background: #161616;
  border-color: #2e2e2e;
  color: #d4d4d4;
}
html.prime-theme #aiAgentsMain .agents-chat-topbar-copy:hover {
  border-color: #fafafa;
  color: #fafafa;
}

/* Zero-results card */
html.prime-theme #aiAgentsMain .agent-zero-status { color: #a3a3a3; }
html.prime-theme #aiAgentsMain .agent-zero-check { background: #1f1f1f; color: #e5e5e5; }
html.prime-theme #aiAgentsMain .agent-zero-count { color: #737373; }
html.prime-theme #aiAgentsMain .agent-zero-count::before { color: #3a3a3a; }
html.prime-theme #aiAgentsMain .agent-zero-summary { color: #e5e5e5; }
html.prime-theme #aiAgentsMain .agent-zero-criterion {
  background: #161616;
  border-color: #2e2e2e;
  color: #d4d4d4;
}
html.prime-theme #aiAgentsMain .agent-zero-options-title { color: #a3a3a3; }
html.prime-theme #aiAgentsMain .agent-zero-choice {
  background: #161616;
  border-color: #2e2e2e;
  color: #e5e5e5;
}
html.prime-theme #aiAgentsMain .agent-zero-choice[aria-checked="true"] {
  background: #1f1f1f;
  border-color: #6b6b6b;
  color: #fafafa;
}
html.prime-theme #aiAgentsMain .agent-zero-radio { border-color: #737373; }
html.prime-theme #aiAgentsMain .agent-zero-choice[aria-checked="true"] .agent-zero-radio { border-color: #fafafa; }
html.prime-theme #aiAgentsMain .agent-zero-choice[aria-checked="true"] .agent-zero-radio::after { background: #fafafa; }
html.prime-theme #aiAgentsMain .agent-zero-recommended { color: #737373; }
html.prime-theme #aiAgentsMain .agent-zero-search { background: #fafafa; color: #111; }
html.prime-theme #aiAgentsMain .agent-zero-search:hover { background: #e5e5e5; }
html.prime-theme #aiAgentsMain .agent-zero-edit { color: #a3a3a3; }
html.prime-theme #aiAgentsMain .agent-zero-edit:hover { color: #fafafa; }

/* Rule-C confirmation card (ambers -> dark amber tint) */
html.prime-theme #aiAgentsMain .geo-confirm-card {
  background: #0d0d0d;
  border-color: #2e2e2e;
  box-shadow: 0 18px 40px -22px rgba(0,0,0,0.7);
}
html.prime-theme #aiAgentsMain .geo-confirm-head { border-bottom-color: #1f1f1f; }
html.prime-theme #aiAgentsMain .geo-confirm-icon { background: #262626; color: #fafafa; }
html.prime-theme #aiAgentsMain .geo-confirm-kicker {
  color: #fbd38d;
  font-family: 'IBM Plex Mono', ui-monospace, 'SF Mono', monospace;
}
html.prime-theme #aiAgentsMain .geo-confirm-title { color: #fafafa; }
html.prime-theme #aiAgentsMain .geo-confirm-row { border-bottom-color: #1f1f1f; }
html.prime-theme #aiAgentsMain .geo-confirm-key { color: #a3a3a3; }
html.prime-theme #aiAgentsMain .geo-confirm-val { color: #fafafa; }
html.prime-theme #aiAgentsMain .geo-confirm-cost {
  background: rgba(243,188,86,0.08);
  border-color: rgba(243,188,86,0.32);
  color: #fbd38d;
}
html.prime-theme #aiAgentsMain .geo-confirm-do { background: #fafafa; color: #111; }
html.prime-theme #aiAgentsMain .geo-confirm-do:hover { background: #e5e5e5; }
html.prime-theme #aiAgentsMain .geo-confirm-cancel {
  background: #161616;
  border-color: #2e2e2e;
  color: #d4d4d4;
}
html.prime-theme #aiAgentsMain .geo-confirm-cancel:hover {
  border-color: #fafafa;
  color: #fafafa;
}
html.prime-theme #aiAgentsMain .geo-confirm-foot { color: #737373; }

/* Sidebar "Recent chats" block (JS-injected, already dark) — micro-label font only */
html.prime-theme .agents-recents-title {
  font-family: 'IBM Plex Mono', ui-monospace, 'SF Mono', monospace;
}

/* ==== END SECTION: GEO AGENT ==== */


/* ############################################################
   PAGE: campaigns-v2
   ############################################################ */
/* ==== SECTION: new-campaign-wizard (/campaigns-v2 — public/campaigns-v2.html) ==== */

/* ── Base surfaces + type ── */
html.prime-theme { scrollbar-color: #2a2a2a #0a0a0a; }
html.prime-theme body { background: #000000; color: #fafafa; font-family: 'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }
html.prime-theme .cp-main-area,
html.prime-theme .cp-wizard,
html.prime-theme .cp-step { background: #000000; }
html.prime-theme #cpStepFlowBuilder { background: #000000; }
html.prime-theme .cp-step,
html.prime-theme .cp-contact-table-wrap,
html.prime-theme .cp-drafts-wrap,
html.prime-theme .cp-flow-chat-scroll,
html.prime-theme .cp-flow-builder-page-wrap { scrollbar-color: #2a2a2a #0a0a0a; }

/* ── Topbar ── */
html.prime-theme .cp-topbar { background: rgba(0,0,0,0.94); border-bottom-color: #1f1f1f; }
html.prime-theme .cp-back { color: #a3a3a3; }
html.prime-theme .cp-back:hover { color: #fafafa; }
html.prime-theme .cp-title { color: #fafafa; }
html.prime-theme .cp-badge { background: #262626; color: #fafafa; }
html.prime-theme .cp-topbar-settings-btn { background: #161616; border-color: #2e2e2e; color: #a3a3a3; }
html.prime-theme .cp-topbar-settings-btn:hover { background: #1f1f1f; border-color: #4b4b4b; color: #fafafa; }
html.prime-theme .cp-topbar-settings-btn.is-job { background: rgba(236,72,153,0.08); border-color: rgba(236,72,153,0.4); color: #f9a8d4; box-shadow: 0 0 0 2px rgba(236,72,153,0.12); }
html.prime-theme .cp-topbar-settings-btn.is-attn::after { background: #ec4899; box-shadow: 0 0 0 2px #000; }

/* ── Stepper (active pill = burgundy tint) ── */
html.prime-theme .cp-stepper-step .cp-stepper-num { font-family: 'IBM Plex Mono', 'JetBrains Mono', ui-monospace, monospace; }
html.prime-theme .cp-stepper-step.upcoming { background: transparent; color: #737373; border-color: #2e2e2e; }
html.prime-theme .cp-stepper-step.upcoming .cp-stepper-num { background: #1a1a1a; color: #737373; }
html.prime-theme .cp-stepper-step.active { background: #1f1f1f; color: #fafafa; border-color: #4b4b4b; box-shadow: none; }
html.prime-theme .cp-stepper-step.active .cp-stepper-num { background: #fafafa; color: #000; }
html.prime-theme .cp-stepper-step.complete { background: #262626; color: #a3a3a3; border-color: #2e2e2e; }
html.prime-theme .cp-stepper-step.complete .cp-stepper-num { background: rgba(255,255,255,0.18); color: #fff; }
html.prime-theme .cp-stepper-step.skipped { background: #161616; color: #737373; border-color: #2e2e2e; }
html.prime-theme .cp-stepper-step.skipped .cp-stepper-num { background: #262626; color: #737373; }
html.prime-theme .cp-stepper-connector { background: #2e2e2e; }
html.prime-theme .cp-stepper-connector.complete { background: #4b4b4b; }

/* ── Step-1: testimonials, logo, card, textarea ── */
html.prime-theme .cp-step-testimonial { background: #0d0d0d; border-color: #1f1f1f; box-shadow: 0 1px 0 rgba(0,0,0,0.4), 0 16px 36px -16px rgba(0,0,0,0.6); color: #a3a3a3; }
html.prime-theme .cp-step-testimonial-quote { color: #fafafa; }
html.prime-theme .cp-step-testimonial-meta { border-top-color: #1f1f1f; }
html.prime-theme .cp-step-testimonial-name { color: #fafafa; }
html.prime-theme .cp-step-testimonial-role { color: #737373; }
html.prime-theme .cp-logo-area .cp-brand { color: #fafafa; }
html.prime-theme .cp-logo-area img { box-shadow: 0 2px 12px rgba(0,0,0,0.6); }
html.prime-theme .cp-card-title { color: #fafafa; }
html.prime-theme .cp-card-sub { color: #a3a3a3; }
html.prime-theme .cp-textarea-wrap { border-bottom-color: #4b4b4b; }
html.prime-theme .cp-textarea { color: #fafafa; scrollbar-color: #2a2a2a #0a0a0a; }
html.prime-theme .cp-textarea::placeholder { color: #565656; }
html.prime-theme .chat-mic-btn { border-color: #2e2e2e; color: #737373; }
html.prime-theme .chat-mic-btn:hover { border-color: #4b4b4b; color: #fafafa; }
html.prime-theme .chat-mic-btn.recording { border-color: rgba(255,32,86,0.5); color: #ff6b8f; background: rgba(255,32,86,0.08); }
html.prime-theme .cp-textarea-wrap .chat-mic-btn { background: #0a0a0a; }
html.prime-theme .cp-add-website-btn { border-color: #2e2e2e; color: #a3a3a3; }
html.prime-theme .cp-add-website-btn:hover { border-color: #4b4b4b; color: #fafafa; background: #131313; }
html.prime-theme .cp-website-input-wrap { background: #0d0d0d; border-color: #1f1f1f; }
html.prime-theme .cp-website-input { background: #0a0a0a; border-color: #2e2e2e; color: #fafafa; }
html.prime-theme .cp-website-input:focus { border-color: #4b4b4b; }
html.prime-theme .cp-website-input::placeholder { color: #565656; }
html.prime-theme .cp-website-analyze-btn { background: #fafafa; color: #111; }
html.prime-theme .cp-website-analyze-btn:hover { background: #e5e5e5; }
html.prime-theme .cp-website-status { color: #737373; }
html.prime-theme .cp-website-status.error { color: #ff6b8f; }
html.prime-theme .cp-website-status.success { color: #f9a8d4; }
html.prime-theme .cp-website-status.warn { color: #fbd38d; }

/* ── Nav buttons (Next / Back) ── */
html.prime-theme .cp-continue-btn { background: #780df8; color: #fff; }
html.prime-theme .cp-continue-btn:hover { background: #6a0be0; }
html.prime-theme .cp-continue-btn.secondary { background: #161616; color: #a3a3a3; border-color: #2e2e2e; }
html.prime-theme .cp-continue-btn.secondary:hover { background: #161616; border-color: #4b4b4b; color: #fafafa; }
/* .cp-continue-btn.green keeps its green — no override */
html.prime-theme .cp-nav { background: rgba(0,0,0,0.97); border-top-color: #1f1f1f; box-shadow: 0 -1px 8px rgba(0,0,0,0.5); }

/* ── Step-2: channel tiles + tiers ── */
html.prime-theme .cp-tier-icp-banner { background: #0d0d0d; border-color: #1f1f1f; color: #a3a3a3; }
html.prime-theme .cp-tier-icp-banner b { color: #fafafa; }
html.prime-theme .cp-tier-badge { font-family: 'IBM Plex Mono', 'SF Mono', Menlo, monospace; }
html.prime-theme .cp-tier-badge.s { background: #262626; color: #d4d4d4; box-shadow: none; }
html.prime-theme .cp-tier-badge.a { background: #262626; color: #a3a3a3; }
html.prime-theme .cp-tier-badge.b { background: #262626; color: #a3a3a3; }
html.prime-theme .cp-tier-badge.c { background: #1a1a1a; color: #737373; }
html.prime-theme .cp-tier-label { color: #a3a3a3; }
html.prime-theme .cp-tier-sublabel { color: #737373; }
html.prime-theme .cp-channel-card { background: #0d0d0d; border-color: #1f1f1f; }
html.prime-theme .cp-channel-card:hover { border-color: #3a3a3a; background: #131313; }
html.prime-theme .cp-channel-card.selected { border-color: #fafafa; background: #131313; box-shadow: 0 0 0 2px rgba(250,250,250,0.25); }
html.prime-theme .cp-channel-card.connected::after { color: #f9a8d4; }
html.prime-theme .cp-channel-name { color: #fafafa; }
html.prime-theme .cp-channel-status { color: #737373; font-family: 'IBM Plex Mono', ui-monospace, monospace; }
/* tier variants: kill the light gradients, unify on dark + burgundy selection */
html.prime-theme .cp-channel-card.tier-s { border-color: #2e2e2e; background: #0d0d0d; }
html.prime-theme .cp-channel-card.tier-s:hover { border-color: #9b4dff; background: #131313; }
html.prime-theme .cp-channel-card.tier-s.selected { border-color: #780df8; box-shadow: 0 0 0 2px rgba(120, 13, 248,0.35); }
html.prime-theme .cp-channel-card.tier-a { border-color: #1f1f1f; }
html.prime-theme .cp-channel-card.tier-a:hover { border-color: #3a3a3a; background: #131313; }
html.prime-theme .cp-channel-card.tier-a.selected { border-color: #780df8; box-shadow: 0 0 0 2px rgba(120, 13, 248,0.35); }
html.prime-theme .cp-channel-card.tier-b { border-color: #1f1f1f; }
html.prime-theme .cp-channel-card.tier-b:hover { border-color: #3a3a3a; background: #131313; }
html.prime-theme .cp-channel-card.tier-b.selected { border-color: #780df8; box-shadow: 0 0 0 2px rgba(120, 13, 248,0.35); }
html.prime-theme .cp-channel-card.tier-c { border-color: #1f1f1f; }
html.prime-theme .cp-channel-card.tier-c:hover { border-color: #3a3a3a; background: #131313; }
html.prime-theme .cp-channel-card.tier-c.selected { border-color: #780df8; box-shadow: 0 0 0 2px rgba(120, 13, 248,0.35); }
/* Channel/provider logos are brand SVGs (some near-black, e.g. X) that vanish
   on the dark card. Give the icon a light chip so every mark stays visible in
   full brand color on black - Nadav 2026-07-29. */
html.prime-theme .cp-channel-icon { background: #f4f4ef; border-radius: 11px; box-shadow: 0 1px 3px rgba(0,0,0,0.5); }
html.prime-theme .cp-channel-icon svg,
html.prime-theme .cp-channel-icon img { width: 30px; height: 30px; }

/* ── Step-2: outreach-type + account picker ── */
html.prime-theme .cp-outreach-btn { background: #0d0d0d; border-color: #1f1f1f; }
html.prime-theme .cp-outreach-btn:hover { border-color: #3a3a3a; background: #131313; }
html.prime-theme .cp-outreach-btn:focus-visible { outline-color: #9b4dff; }
html.prime-theme .cp-outreach-btn.selected { border-color: #780df8; background: #131313; box-shadow: 0 0 0 2px rgba(120, 13, 248,0.35); }
html.prime-theme .cp-outreach-btn.needs-selection { border-color: #ff6b8f; background: rgba(255,32,86,0.08); }
html.prime-theme .cp-outreach-type-name { color: #fafafa; }
html.prime-theme .cp-outreach-type-desc { color: #737373; }
html.prime-theme .cp-outreach-nudge,
html.prime-theme .cp-account-nudge { border-color: rgba(255,32,86,0.35); background: rgba(255,32,86,0.08); color: #ff6b8f; }
html.prime-theme .cp-account-picker { background: #0d0d0d; border-color: #1f1f1f; }
html.prime-theme .cp-account-picker-title { color: #fafafa; }
html.prime-theme .cp-account-item:hover { background: #161616; }
html.prime-theme .cp-account-item.selected { background: #262626; }
html.prime-theme .cp-account-item.needs-selection { border-color: #ff6b8f; background: rgba(255,32,86,0.08); }
html.prime-theme .cp-account-radio { border-color: #4b4b4b; }
html.prime-theme .cp-account-item.selected .cp-account-radio { border-color: #d4d4d4; }
html.prime-theme .cp-account-item.selected .cp-account-radio::after { background: #d4d4d4; }
html.prime-theme .cp-account-name { color: #fafafa; }
html.prime-theme .cp-account-badge { color: #a3a3a3; background: #262626; }

/* ── Campaign-type choice (cpStepFlowChoice) ── */
html.prime-theme .cp-campaign-type-card { background: #0d0d0d; border-color: #1f1f1f; color: #fafafa; }
html.prime-theme .cp-campaign-type-card:hover,
html.prime-theme .cp-campaign-type-card.active { border-color: #3a3a3a; box-shadow: 0 12px 34px rgba(0,0,0,0.55); }
html.prime-theme .cp-campaign-type-card.active { outline-color: #780df8; }
html.prime-theme .cp-campaign-type-kicker { background: #1a1a1a; color: #a3a3a3; font-family: 'IBM Plex Mono', ui-monospace, monospace; }
html.prime-theme .cp-campaign-type-title { color: #fafafa; }
html.prime-theme .cp-campaign-type-copy { color: #a3a3a3; }
html.prime-theme .cp-campaign-type-visual { border-color: #1f1f1f; background: linear-gradient(180deg, #0f0f0f 0%, #0a0a0a 100%); }
html.prime-theme .cp-direct-mail-card { border-color: #2e2e2e; background: #161616; box-shadow: 0 8px 22px rgba(0,0,0,0.5); }
html.prime-theme .cp-direct-mail-row { background: #2e2e2e; }
html.prime-theme .cp-direct-send-dot { background: #780df8; box-shadow: 0 10px 24px rgba(120, 13, 248,0.4); }
html.prime-theme .cp-flow-visual-line { background: #3a3a3a; }
html.prime-theme .cp-flow-mini-node { border-color: #2e2e2e; background: #161616; box-shadow: 0 8px 18px rgba(0,0,0,0.45); }
html.prime-theme .cp-flow-mini-node::before { background: #2e2e2e; }
html.prime-theme .cp-flow-mini-node::after { background: #3a3a3a; }
html.prime-theme .cp-flow-mini-branch { border-top-color: #3a3a3a; border-right-color: #3a3a3a; border-bottom-color: #3a3a3a; }
html.prime-theme .cp-flow-mini-pill { color: #a3a3a3; background: #161616; border-color: #1f1f1f; }

/* ── Flow-builder step ── */
html.prime-theme .cp-flow-hero-title { color: #fafafa; }
html.prime-theme .cp-flow-hero-sub { color: #a3a3a3; }
html.prime-theme .cp-flow-chip { background: #161616; border-color: #2e2e2e; color: #fafafa; }
html.prime-theme .cp-flow-chip:hover { background: #1f1f1f; border-color: #3a3a3a; }
html.prime-theme .cp-flow-composer { background: #0d0d0d; border-color: #2e2e2e; box-shadow: 0 1px 2px rgba(0,0,0,0.4), 0 8px 24px rgba(0,0,0,0.4); }
html.prime-theme .cp-flow-composer:focus-within { border-color: #4b4b4b; box-shadow: 0 1px 2px rgba(0,0,0,0.5), 0 12px 28px rgba(0,0,0,0.5); }
html.prime-theme .cp-flow-composer-input { color: #fafafa; }
html.prime-theme .cp-flow-composer-input::placeholder { color: #565656; }
html.prime-theme .cp-flow-composer-mic { background: #161616; color: #a3a3a3; border-color: #2e2e2e; }
html.prime-theme .cp-flow-composer-mic:hover { background: #1f1f1f; border-color: #4b4b4b; color: #fafafa; }
html.prime-theme .cp-flow-composer-mic.recording { background: rgba(255,32,86,0.12); border-color: rgba(255,32,86,0.45); color: #ff6b8f; }
html.prime-theme .cp-flow-composer-send { background: #780df8; color: #fff; }
html.prime-theme .cp-flow-composer-send:hover { background: #6a0be0; }
html.prime-theme .cp-flow-composer-send:disabled { background: #262626; color: #737373; }
html.prime-theme #cpStepFlowBuilder .cp-flow-build-btn,
html.prime-theme .cp-flow-build-btn { background: #262626; color: #737373; }
/* .cp-flow-build-btn.ready keeps its green — no override */
html.prime-theme .cp-flow-side-card { background: #0d0d0d; border-color: #1f1f1f; box-shadow: 0 6px 24px rgba(0,0,0,0.4); }
html.prime-theme .cp-flow-side-card-quote { color: #d4d4d4; }
html.prime-theme .cp-flow-side-card-attrib { color: #737373; }
html.prime-theme .cp-flow-progress-strip { background: #000; color: #737373; }
html.prime-theme .cp-flow-progress-dot { background: #2e2e2e; }
html.prime-theme .cp-flow-progress-dot.filled { background: #fafafa; }
html.prime-theme .cp-flow-progress-dot.filled.tail { background: #ec4899; }
html.prime-theme .cp-flow-progress-label { color: #a3a3a3; }
html.prime-theme .cp-flow-progress-label.pending { color: #737373; }
html.prime-theme .cp-flow-preview-modal { background: #0d0d0d; box-shadow: 0 24px 60px rgba(0,0,0,0.7); }
html.prime-theme .cp-flow-preview-close { color: #a3a3a3; }
html.prime-theme .cp-flow-preview-close:hover { background: #1f1f1f; color: #fafafa; }
html.prime-theme .cp-flow-preview-title { color: #fafafa; }
html.prime-theme .cp-flow-preview-summary { background: #161616; color: #d4d4d4; }
html.prime-theme .cp-flow-preview-mermaid { background: #0d0d0d; border-color: #2e2e2e; }
html.prime-theme .cp-flow-preview-errors { background: rgba(255,32,86,0.08); border-color: rgba(255,32,86,0.35); color: #ff6b8f; }
html.prime-theme .cp-flow-preview-secondary { background: #161616; color: #d4d4d4; }
html.prime-theme .cp-flow-preview-secondary:hover { background: #1f1f1f; }
html.prime-theme .cp-flow-preview-primary { background: #780df8; color: #fff; }
html.prime-theme .cp-flow-preview-primary:hover { background: #6a0be0; }
html.prime-theme .cp-flow-preview-primary:disabled { background: #262626; color: #737373; }
html.prime-theme .cp-flow-builder-canvas-title { color: #fafafa; }
html.prime-theme .cp-flow-builder-canvas-copy { color: #737373; }
html.prime-theme #cpFlowBuilderCanvasShell .cp-flow-canvas { background: #0a0a0a; }
html.prime-theme .cp-flow-picker-btn { background: #161616; border-color: #2e2e2e; color: #fafafa; }
html.prime-theme .cp-flow-picker-btn:hover { background: #1f1f1f; border-color: #3a3a3a; }
html.prime-theme .cp-flow-builder-canvas-head .cp-flow-action-btn.primary { background: #780df8; border-color: #780df8; color: #fff; }
html.prime-theme .cp-flow-builder-canvas-head .cp-flow-action-btn.primary:hover { background: #6a0be0; }

/* ── Geo chat bubbles (cp2, contacts + drafts steps) ── */
html.prime-theme .cp2-bubble { background: #0d0d0d; border-color: #1f1f1f; color: #d4d4d4; box-shadow: 0 1px 2px rgba(0,0,0,0.4); }
html.prime-theme .cp2-msg.cp2-msg-user .cp2-bubble { background: #262626; color: #fafafa; border-color: #262626; }
html.prime-theme .cp2-user-avatar { background: #262626; color: #fff; }
html.prime-theme .cp2-geo-next button { background: #780df8; color: #fff; }
html.prime-theme .cp2-geo-next button:hover { background: #6a0be0; }
html.prime-theme .cp2-resume-row { border-color: #3a3a3a; background: #0d0d0d; }
html.prime-theme .cp2-resume-row:hover { background: #131313; border-color: #4b4b4b; }
html.prime-theme .cp2-resume-pill { color: #6ee7b7; background: rgba(16,185,129,0.08); border-color: rgba(16,185,129,0.4); }

/* ── Contacts step: headline + fake stack + real cards ── */
html.prime-theme .cp-icp-headline { color: #a3a3a3; }
html.prime-theme .cp-icp-headline strong { color: #fafafa; }
html.prime-theme .cp-fake-row { background: #0d0d0d; border-color: #1f1f1f; }
html.prime-theme .cp-fake-avatar { background: #2e2e2e; color: #737373; }
html.prime-theme .cp-fake-name { color: #fafafa; }
html.prime-theme .cp-fake-meta { color: #737373; }
html.prime-theme .cp-real-card { background: #0d0d0d; border-color: #780df8; box-shadow: 0 6px 22px rgba(0,0,0,0.55); }
html.prime-theme .cp-real-avatar { background: #780df8; color: #fff; }
html.prime-theme .cp-real-name { color: #fafafa; }
html.prime-theme .cp-real-meta { color: #a3a3a3; }
html.prime-theme .cp-real-contact { color: #737373; }
html.prime-theme .cp-real-link { background: #161616; color: #a3a3a3; }
html.prime-theme .cp-real-link:hover { background: #262626; color: #fafafa; }
html.prime-theme .cp-icp-prompt { color: #a3a3a3; }
html.prime-theme .cp-icp-prompt strong { color: #fafafa; }
html.prime-theme .cp-contact-table th { color: #737373; border-bottom-color: #2e2e2e; background: #000; }
html.prime-theme .cp-contact-table td { color: #fafafa; border-bottom-color: #1f1f1f; }
html.prime-theme .cp-contact-table tr:hover td { background: #0d0d0d; }
html.prime-theme .cp-contact-table .cp-contact-avatar,
html.prime-theme .cp-contact-avatar { background: #262626; color: #a3a3a3; }
html.prime-theme .cp-contact-empty,
html.prime-theme .cp-draft-empty { color: #737373; }
html.prime-theme .cp-contacts-table th { color: #737373; border-bottom-color: #1f1f1f; }
html.prime-theme .cp-contacts-table td { color: #a3a3a3; border-bottom-color: #131313; }
html.prime-theme .cp-contacts-table tr:hover { background: #0d0d0d; }
html.prime-theme .cp-contact-name { color: #fafafa; }

/* ── Inline chat composer (contacts + drafts) ── */
html.prime-theme .cp-inline-chat { background: transparent; border-top-color: #1f1f1f; }
html.prime-theme .cp-inline-chat-input { background: #0a0a0a; border-color: #2e2e2e; color: #fafafa; box-shadow: 0 1px 2px rgba(0,0,0,0.4); }
html.prime-theme .cp-inline-chat-input:focus { border-color: #4b4b4b; }
html.prime-theme .cp-inline-chat-input::placeholder { color: #565656; }
html.prime-theme .cp-inline-chat .chat-mic-btn { background: #161616; }
html.prime-theme .cp-inline-chat-send { background: #780df8; color: #fff; }
html.prime-theme .cp-inline-chat-send:hover { background: #6a0be0; }
html.prime-theme .cp-inline-chat-info { color: #737373; }

/* ── Drafts step: chat rows, tone slider, rules rail, cards ── */
html.prime-theme .cp-draft-chat-history-head { color: #737373; }
html.prime-theme .cp-draft-chat-bubble.user { background: #262626; color: #fafafa; }
html.prime-theme .cp-draft-chat-bubble.geo { background: #0d0d0d; color: #d4d4d4; border-color: #1f1f1f; }
html.prime-theme .cp-draft-chat-bubble.geo .cp-draft-chat-applied-count { color: #737373; }
html.prime-theme .cp-draft-chat-row .cp-draft-chat-avatar { background: #262626; color: #a3a3a3; }
html.prime-theme .cp-draft-chat-row.user .cp-draft-chat-avatar { background: #262626; color: #fff; }
html.prime-theme .cp-draft-chat-bubble.geo.with-card { background: #0d0d0d; border-color: #1f1f1f; box-shadow: 0 1px 2px rgba(0,0,0,0.4); color: #fafafa; }
html.prime-theme .cp-draft-tone-control { border-color: #1f1f1f; background: #0d0d0d; }
html.prime-theme .cp-draft-tone-head { color: #fafafa; }
html.prime-theme .cp-draft-tone-label { color: #a3a3a3; }
html.prime-theme .cp-draft-tone-endpoint { color: #737373; }
html.prime-theme .cp-draft-tone-slider { accent-color: #9b4dff; }
html.prime-theme .cp-draft-tone-regenerate { border-color: #780df8; background: #780df8; color: #fff; }
html.prime-theme .cp-draft-tone-hint { color: #737373; }
html.prime-theme .cp-rules-rail { background: #0d0d0d; border-color: #1f1f1f; }
html.prime-theme .cp-rules-empty { color: #737373; }
html.prime-theme .cp-rule-chip { background: #161616; border-color: #2e2e2e; color: #d4d4d4; }
html.prime-theme .cp-rule-chip-remove { color: #737373; }
html.prime-theme .cp-rule-chip-remove:hover { color: #ff6b8f; }
html.prime-theme .cp-rule-quickpick { background: #161616; border-color: #2e2e2e; color: #d4d4d4; }
html.prime-theme .cp-rule-quickpick:hover { background: #1f1f1f; }
html.prime-theme .cp-draft-card { background: #0d0d0d; border-color: #1f1f1f; }
html.prime-theme .cp-draft-card:hover { border-color: #3a3a3a; }
html.prime-theme .cp-draft-card-step { color: #737373; }
html.prime-theme .cp-draft-card-channel { background: #262626; color: #fafafa; }
html.prime-theme .cp-draft-card-subject { color: #fafafa; }
html.prime-theme .cp-draft-card-body { color: #a3a3a3; }
html.prime-theme .cp-draft-mode-chip { color: #a3a3a3; background: #161616; border-color: #2e2e2e; }
/* JS-inlined draft-card internals (see NOTES) */
html.prime-theme .cp-draft-to { color: #737373 !important; }
html.prime-theme .cp-draft-subject { color: #fafafa !important; }
html.prime-theme .cp-draft-body { color: #d4d4d4 !important; }
html.prime-theme .cp-show-conv-btn { color: #a3a3a3 !important; }
html.prime-theme .cp-conv-snippet { background: #161616 !important; border-color: #2e2e2e !important; color: #a3a3a3 !important; }
html.prime-theme .cp-conv-snippet div[style*="#9d174d"] { color: #f9a8d4 !important; border-top-color: #2e2e2e !important; }
html.prime-theme .cp-conv-snippet div[style*="#92400e"] { color: #fbd38d !important; border-top-color: #2e2e2e !important; }
html.prime-theme .cp-conv-snippet div[style*="#6b7280"] { color: #737373 !important; }
html.prime-theme .cp-draft-edit-btn,
html.prime-theme .cp-draft-regen-btn { background: #161616 !important; color: #fafafa !important; border-color: #2e2e2e !important; }
html.prime-theme .cp-empty-state,
html.prime-theme .cp-empty-state div { color: #a3a3a3 !important; }
html.prime-theme .cp-empty-state a { color: #fafafa !important; border-color: #4b4b4b !important; }
html.prime-theme .cp-loading div[style*="#111"] { color: #fafafa !important; }
html.prime-theme .cp-loading div[style*="#888"] { color: #a3a3a3 !important; }
html.prime-theme .cp-icp-headline div[style*="#6b7280"] { color: #737373 !important; }
/* Follow-up advanced settings (inline-styled block) */
html.prime-theme #cpFollowupAdvancedToggle { color: #a3a3a3 !important; }
html.prime-theme #cpFollowupAdvancedContent { background: #0d0d0d !important; border-color: #1f1f1f !important; }
html.prime-theme #cpFollowupAdvancedContent div[style*="#374151"] { color: #a3a3a3 !important; }
html.prime-theme #cpFollowupAdvancedContent div[style*="#6b7280"],
html.prime-theme #cpFollowupDepthNote { color: #737373 !important; }
html.prime-theme .cp-depth-btn { background: #161616 !important; color: #d4d4d4 !important; border-color: #2e2e2e !important; }
html.prime-theme .cp-depth-btn.active { background: #780df8 !important; color: #fff !important; border-color: #780df8 !important; }
html.prime-theme #cpFollowupDepthOtherInput { background: #0a0a0a !important; color: #fafafa !important; border-color: #2e2e2e !important; }

/* ── Signature form modal (drafts step) ── */
html.prime-theme .cp-signature-form { background: #0d0d0d; border-color: #1f1f1f; box-shadow: 0 22px 70px rgba(0,0,0,0.7); }
html.prime-theme .cp-signature-form-kicker { color: #737373; }
html.prime-theme .cp-signature-form h3 { color: #fafafa; }
html.prime-theme .cp-signature-form-close { background: #161616; border-color: #2e2e2e; color: #a3a3a3; }
html.prime-theme .cp-signature-form-close:hover { color: #fafafa; border-color: #3a3a3a; background: #1f1f1f; }
html.prime-theme .cp-signature-form-label { color: #a3a3a3; }
html.prime-theme .cp-signature-form-text { background: #0a0a0a; border-color: #2e2e2e; color: #fafafa; }
html.prime-theme .cp-signature-form-text:focus { border-color: #4b4b4b; box-shadow: 0 0 0 3px rgba(250,250,250,0.06); }
html.prime-theme .cp-signature-form-meta { color: #737373; }
html.prime-theme .cp-signature-form-preview { border-color: #2e2e2e; background: #161616; color: #a3a3a3; }
html.prime-theme .cp-signature-form-secondary { border-color: #2e2e2e; background: #161616; color: #d4d4d4; }
html.prime-theme .cp-signature-form-primary { border-color: #780df8; background: #780df8; color: #fff; }

/* ── Step-5: schedule bar, day toggles, launch ── */
html.prime-theme .cp-schedule-bar { background: #0d0d0d; border-bottom-color: #1f1f1f; }
html.prime-theme #cpScheduleBar { border-color: #1f1f1f !important; }
html.prime-theme .cp-sched-label { color: #737373; font-family: 'IBM Plex Mono', ui-monospace, monospace; }
html.prime-theme .cp-day-btn { background: #161616; border-color: #2e2e2e; color: #a3a3a3; }
html.prime-theme .cp-day-btn:hover { border-color: #4b4b4b; }
html.prime-theme .cp-day-btn.active { background: #780df8; color: #fff; border-color: #780df8; }
html.prime-theme .cp-sched-divider { background: #2e2e2e; }
html.prime-theme .cp-sched-input { background: #0a0a0a; border-color: #2e2e2e; color: #fafafa; }
html.prime-theme .cp-sched-input:focus { border-color: #4b4b4b; }
html.prime-theme .cp-sched-unit { color: #737373; }
html.prime-theme .cp-sched-rec { color: #f9a8d4; }
html.prime-theme .cp-time-pill { background: #161616; border-color: #2e2e2e; color: #d4d4d4; }
html.prime-theme .cp-time-pill-x { color: #737373; }
html.prime-theme .cp-time-pill-x:hover { color: #ff6b8f; }
html.prime-theme .cp-time-add-btn { border-color: #3a3a3a; color: #737373; }
html.prime-theme .cp-time-add-btn:hover { border-color: #4b4b4b; color: #fafafa; }
html.prime-theme .cp-time-add-row select { background: #0a0a0a; border-color: #2e2e2e; color: #fafafa; }
html.prime-theme .cp-time-add-confirm { background: #780df8; color: #fff; }
html.prime-theme .cp-time-add-cancel { background: #161616; border-color: #2e2e2e; color: #a3a3a3; }
html.prime-theme #cpScheduleContractHint { color: #737373 !important; }
html.prime-theme #cpScheduleContractHint strong { color: #a3a3a3; }
html.prime-theme .cp-day-chip { background: #161616; color: #737373; border-color: #2e2e2e; font-family: 'IBM Plex Mono', 'JetBrains Mono', ui-monospace, monospace; }
html.prime-theme .cp-day-chip:hover:not([data-locked="true"]) { border-color: #4b4b4b; color: #fafafa; }
html.prime-theme .cp-day-chip.on { background: #780df8; color: #fff; border-color: #780df8; }
html.prime-theme .cp-sched-edit-bar .cp-day-btn { background: #161616; border-color: #2e2e2e; color: #a3a3a3; }
html.prime-theme .cp-sched-edit-bar .cp-day-btn.active { background: #780df8; color: #fff; border-color: #780df8; }
html.prime-theme .cp-sched-save-btn { background: #780df8; color: #fff; }
/* Twitter/Reddit exact-schedule sub-panel (inline-styled) */
html.prime-theme #cpTwSchedule { border-color: #1f1f1f !important; }
html.prime-theme .cp-tw-schedule div[style*="#111"] { color: #fafafa !important; }
html.prime-theme #cpTwPostsMinus, html.prime-theme #cpTwPostsPlus { background: #161616 !important; border-color: #2e2e2e !important; color: #fafafa !important; }
html.prime-theme #cpTwPostsPerDay { background: #0a0a0a !important; border-color: #2e2e2e !important; color: #fafafa !important; }
html.prime-theme #cpTwSummary { background: #161616 !important; color: #a3a3a3 !important; }
/* Launch stays GREEN — only the soft-disabled state is recolored */
html.prime-theme .cp-launch-btn[aria-disabled="true"] { background: #262626; color: #737373; }
html.prime-theme .cp-launch-btn[aria-disabled="true"]:hover { background: #262626; }

/* ── Connect modal (channel step flow) ── */
html.prime-theme .cp-connect-modal { background: #0d0d0d; box-shadow: 0 24px 64px rgba(0,0,0,0.7); }
html.prime-theme .cp-connect-close { background: #262626; color: #a3a3a3; }
html.prime-theme .cp-connect-close:hover { background: #2e2e2e; color: #fafafa; }
html.prime-theme .cp-connect-icon-wrap { background: #161616; }
html.prime-theme .cp-connect-title { color: #fafafa; }
html.prime-theme .cp-connect-sub { color: #a3a3a3; }
html.prime-theme .cp-connect-label { color: #737373; font-family: 'IBM Plex Mono', 'JetBrains Mono', monospace; }
html.prime-theme .cp-connect-input-row { border-color: #2e2e2e; background: #0a0a0a; }
html.prime-theme .cp-connect-input-row:focus-within { border-color: #4b4b4b; }
html.prime-theme .cp-connect-input { color: #fafafa; }
html.prime-theme .cp-connect-input-suffix { color: #737373; }
html.prime-theme .cp-connect-error { color: #ff6b8f; background: rgba(255,32,86,0.08); }
html.prime-theme .cp-connect-submit { background: #780df8; color: #fff; }
html.prime-theme .cp-connect-submit:hover:not(:disabled) { background: #6a0be0; }
html.prime-theme .cp-connect-helper { color: #737373; }
html.prime-theme .cp-connect-secondary { border-color: #2e2e2e; color: #d4d4d4; }
html.prime-theme .cp-connect-secondary:hover:not(:disabled) { background: #161616; border-color: #3a3a3a; }
html.prime-theme .cp-connect-brandlock .cp-connect-icon-wrap { background: #161616; border-color: #2e2e2e; }
html.prime-theme .cp-connect-lockdot { border-color: #0d0d0d; }
html.prime-theme .cp-connect-trust { background: rgba(236,72,153,0.08); border-color: rgba(236,72,153,0.3); }
html.prime-theme .cp-connect-trust-title { color: #f9a8d4; }
html.prime-theme .cp-connect-trust-text { color: #d48fb4; }
html.prime-theme .cp-connect-trust-chip { color: #a3a3a3; background: #161616; border-color: #2e2e2e; }
html.prime-theme .cp-connect-secured { border-top-color: #1f1f1f; }
html.prime-theme .cp-connect-secured-label { color: #737373; }
html.prime-theme .cp-connect-success-check { background: rgba(236,72,153,0.12); }
html.prime-theme .cp-connect-success-title { color: #fafafa; }
html.prime-theme .cp-connect-success-sub { color: #737373; }
/* ==== END SECTION: new-campaign-wizard ==== */


/* ############################################################
   PAGE: onboarding
   ############################################################ */
/* ==== SECTION: ONBOARDING (public/onboarding.html) ==== */

/* ── Page frame ── */
html.prime-theme body {
  background-color: #000000;
  background-image: radial-gradient(#1c1c1c 0.75px, transparent 0.75px); /* preview .ob-grain dot grid */
  background-size: 18px 18px;
  color: #fafafa;
  font-family: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
}
html.prime-theme ::selection { background: rgba(255, 255, 255, 0.22); }
html.prime-theme ::-webkit-scrollbar-thumb { background: #2a2a2a; }
html.prime-theme ::-webkit-scrollbar-thumb:hover { background: #3a3a3a; }
html.prime-theme ::-webkit-scrollbar-track { background: transparent; }

/* ── Logo ── */
html.prime-theme #logo-area img {
  background: #f4f4ef; /* preview .ob-logo light tile behind the mark */
  box-shadow: 0 8px 24px -10px rgba(0, 0, 0, 0.6);
}
html.prime-theme #logo-area .brand { color: #fafafa; }

/* ── Boot state + boot/stalled fallback (also injected by inline script + onboarding.js showOnboardingBootFallback) ── */
html.prime-theme .onboarding-boot { color: #fafafa; }
html.prime-theme .onboarding-boot-spinner {
  border-color: #2a2a2a;
  border-top-color: #780df8;
}
html.prime-theme .onboarding-boot-sub { color: #a3a3a3; }
html.prime-theme .onboarding-boot-actions .continue-btn.secondary {
  background: #161616;
  color: #fafafa;
  border-color: #2e2e2e;
}
html.prime-theme .onboarding-boot-actions .continue-btn.secondary:hover {
  background: #1f1f1f;
  border-color: #4b4b4b;
}

/* ── Step meta / dots / progress (renderStep markup) ── */
html.prime-theme .step-label {
  color: #737373;
  font-family: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
}
html.prime-theme .step-dot { background: #2e2e2e; }
html.prime-theme .step-dot.active { background: #fafafa; }
html.prime-theme .step-dot.done { background: #737373; }
html.prime-theme .progress-track { background: #1f1f1f; }
html.prime-theme .progress-fill { background: #780df8; }

/* ── Question step ── */
html.prime-theme .question-text { color: #fafafa; }
html.prime-theme .cursor { background: #fafafa; }
html.prime-theme .input-wrap { border-bottom-color: #4b4b4b; }
html.prime-theme .answer-textarea { color: #fafafa; }
html.prime-theme .answer-textarea::placeholder { color: #737373; }

/* ── Mic button ── */
html.prime-theme .mic-btn {
  border-color: #2e2e2e;
  background: #161616;
  color: #737373;
}
html.prime-theme .mic-btn:hover { border-color: #fafafa; color: #fafafa; }
html.prime-theme .mic-btn.recording {
  border-color: #ff6b8f;
  color: #ff6b8f;
  background: rgba(255, 32, 86, 0.08);
}
html.prime-theme .mic-btn.mic-bob { animation-name: primeMicBob; }
@keyframes primeMicBob {
  0%   { transform: translateY(0)    scale(1);    color: #737373; border-color: #2e2e2e; box-shadow: none; }
  18%  { transform: translateY(-6px) scale(1.15); color: #fafafa; border-color: #fafafa; box-shadow: 0 4px 12px rgba(0,0,0,0.6); }
  36%  { transform: translateY(0)    scale(1);    color: #737373; border-color: #2e2e2e; box-shadow: none; }
  54%  { transform: translateY(-4px) scale(1.08); color: #a3a3a3; border-color: #6b6b6b; box-shadow: 0 3px 8px rgba(0,0,0,0.4); }
  72%  { transform: translateY(0)    scale(1);    color: #737373; border-color: #2e2e2e; box-shadow: none; }
  100% { transform: translateY(0)    scale(1);    color: #737373; border-color: #2e2e2e; box-shadow: none; }
}

/* ── Continue / Finish buttons (also #enter-btn on completion + boot Reload) ── */
html.prime-theme .continue-btn {
  background: #780df8;
  color: #ffffff;
}
html.prime-theme .continue-btn:hover { background: #6a0be0; }

/* ── Welcome screen (renderWelcome markup) ── */
html.prime-theme .welcome-greeting { color: #fafafa; }
html.prime-theme .welcome-sub { color: #a3a3a3; }
html.prime-theme .url-input-wrap {
  background: #0d0d0d;
  border-color: #2e2e2e;
}
html.prime-theme .url-input-wrap:focus-within {
  border-color: #6b6b6b;
  box-shadow: 0 0 0 3px rgba(120, 13, 248, 0.25);
}
html.prime-theme .url-input { color: #fafafa; }
html.prime-theme .url-animated-placeholder { color: #737373; }
html.prime-theme .url-animated-placeholder .anim-cursor { background: #737373; }
html.prime-theme .url-go-btn {
  background: #780df8;
  color: #ffffff;
}
html.prime-theme .url-go-btn:hover { background: #6a0be0; }
html.prime-theme .manual-link { color: #737373; }
html.prime-theme .manual-link:hover { color: #fafafa; }

/* ── Scrape loading ── */
html.prime-theme .loading-spinner {
  border-color: #2a2a2a;
  border-top-color: #780df8;
}
html.prime-theme .loading-text { color: #fafafa; }
html.prime-theme .loading-sub { color: #a3a3a3; }
html.prime-theme .loading-progress { color: #737373; }

/* ── Scrape error (semantic danger, dark variants) ── */
html.prime-theme .scrape-error {
  background: rgba(255, 32, 86, 0.08);
  border-color: rgba(255, 32, 86, 0.35);
}
html.prime-theme .scrape-error-text { color: #ff6b8f; }
html.prime-theme .scrape-error-manual {
  color: #fafafa;
  border-color: #2e2e2e;
  background: #161616;
}
html.prime-theme .scrape-error-manual:hover {
  border-color: #6b6b6b;
  background: #1f1f1f;
}

/* ── Save-error toast (JS-injected #ob-error with inline style.cssText color:#ef4444) ── */
html.prime-theme #ob-error { color: #ff6b8f !important; }

/* ── Completion ── */
html.prime-theme .check-circle { background: #780df8; }
html.prime-theme #completion h2 { color: #fafafa; }
html.prime-theme #completion p { color: #a3a3a3; }

/* ── Testimonial rails (future .prime-rail slots — colors only, like preview .testimonial-card) ── */
html.prime-theme .prime-rail .testimonial-card {
  background: #0d0d0d;
  border: 1px solid #1f1f1f;
  border-radius: 18px;
}
html.prime-theme .prime-rail .testimonial-card .tq { color: #a3a3a3; }
html.prime-theme .prime-rail .testimonial-card .tw { border-top-color: #1f1f1f; }
html.prime-theme .prime-rail .testimonial-card .ta { background: #780df8; color: #ffffff; }
html.prime-theme .prime-rail .testimonial-card .tn { color: #fafafa; }
html.prime-theme .prime-rail .testimonial-card .tr { color: #737373; }
/* ==== END SECTION: ONBOARDING ==== */

/* ==== SECTION: personality demo (prime-personality.js) — a clean chat with Geo ==== */
/* On step 4 the demo IS the view. Hide the app's own draft UI so the page is
   just Geo's chat + the input box (Nadav: "the less things on the page the
   nicer"): the real 3 draft cards (#cpDrafts), the orphaned top intro-geo
   (#cp2DraftsChat), the "Generating drafts" loader (#cpDraftsLoading), the
   asymmetric tone slider (#cpDraftToneControl) and the rules rails. The real
   drafts[] STILL generate in the background for the actual send — only the UI
   is hidden. */
html.prime-theme #cpStep4.prime-demo-on #cpDrafts,
html.prime-theme #cpStep4.prime-demo-on #cp2DraftsChat,
html.prime-theme #cpStep4.prime-demo-on #cpDraftsLoading,
html.prime-theme #cpStep4.prime-demo-on #cpDraftToneControl,
html.prime-theme #cpStep4.prime-demo-on #cpRulesRail,
html.prime-theme #cpStep4.prime-demo-on #cpRuleQuickPicks { display: none !important; }

/* The demo panel is a direct child of #cpStep4, which is overflow:hidden in
   this theme — the panel must own its scrolling or a real (multi-paragraph)
   demo email is clipped with NO way to reach the rest ("I cannot scroll at
   all", 2026-07-31). flex:1 + min-height:0 makes it the step's scroll region;
   the inner thread keeps the 720px reading column. */
html.prime-theme .prime-demo-panel { flex: 1 1 auto; min-height: 0; overflow-y: auto; width: 100%; margin: 0; padding: 4px 0 18px; }
html.prime-theme .prime-demo-thread { max-width: 720px; margin: 0 auto; }
html.prime-theme .prime-demo-thread { display: flex; flex-direction: column; gap: 12px; }
html.prime-theme .prime-demo-row { display: flex; gap: 11px; align-items: flex-start; }
html.prime-theme .prime-demo-ava { width: 32px; height: 32px; border-radius: 9px; background: #f4f4ef; display: grid; place-items: center; flex-shrink: 0; overflow: hidden; }
html.prime-theme .prime-demo-ava img { width: 26px; height: 26px; object-fit: contain; }
html.prime-theme .prime-demo-bubble { background: #1a1a1a; border: 1px solid var(--pt-border-soft); border-radius: 4px 14px 14px 14px; padding: 12px 15px; font-size: 13.5px; color: #e5e5e5; line-height: 1.6; max-width: 560px; }
html.prime-theme .prime-demo-bubble strong { color: #fafafa; }
html.prime-theme .prime-demo-retry { text-decoration: underline; background: none; border: none; color: #fafafa; cursor: pointer; font: inherit; padding: 0; }

/* Typing indicator (three bouncing dots) — reads as "Geo is writing it now". */
html.prime-theme .prime-demo-dots { display: inline-flex; gap: 4px; align-items: center; height: 12px; }
html.prime-theme .prime-demo-dots i { width: 6px; height: 6px; border-radius: 50%; background: #8a8a8a; display: inline-block; animation: primeDemoDot 1.2s ease-in-out infinite; }
html.prime-theme .prime-demo-dots i:nth-child(2) { animation-delay: 0.2s; }
html.prime-theme .prime-demo-dots i:nth-child(3) { animation-delay: 0.4s; }
@keyframes primeDemoDot { 0%, 60%, 100% { opacity: 0.3; transform: translateY(0); } 30% { opacity: 1; transform: translateY(-3px); } }

/* The demo message itself, as a richer chat bubble. */
html.prime-theme .prime-demo-msg { background: var(--pt-card); }
html.prime-theme .prime-demo-msg-head { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
html.prime-theme .prime-demo-jd { width: 34px; height: 34px; border-radius: 50%; background: var(--pt-surface); color: #fafafa; font-weight: 700; font-size: 12px; display: grid; place-items: center; flex-shrink: 0; }
html.prime-theme .prime-demo-jd-reddit { background: #FF4500; color: #fff; }
html.prime-theme .prime-demo-name { font-size: 14px; font-weight: 700; color: #fafafa; }
html.prime-theme .prime-demo-role { font-size: 12px; color: var(--pt-muted); margin-top: 1px; }
html.prime-theme .prime-demo-tag { margin-left: auto; font-family: var(--pt-mono); font-size: 9px; letter-spacing: 0.12em; color: var(--pt-dim); border: 1px solid var(--pt-border); border-radius: 5px; padding: 2px 7px; }
html.prime-theme .prime-demo-subject { font-size: 14.5px; font-weight: 650; color: #fafafa; margin-bottom: 8px; }
html.prime-theme .prime-demo-body { font-size: 13.5px; color: #d4d4d4; line-height: 1.7; white-space: pre-wrap; word-break: break-word; }
/* Reddit reply body reads as a comment, not a message — set off in its own box. */
html.prime-theme .prime-demo-reply-box { background: #1a1a1a; border: 1px solid #292929; border-radius: 8px; padding: 10px 12px; }

/* Subtle emphasis on the input so it reads as where you reply — NO motion
   (Nadav: stop the chat box jumping up and down). */
html.prime-theme #cpStep4.prime-demo-on #cpDraftChatInput { border-color: #4b4b4b !important; }

/* ==== SECTION: launch step — warm-up opt-in + connect CTA on black ==== */
/* These cards ship with light-blue/green inline backgrounds + blue text; recolor
   them to the dark theme (Nadav: "you forgot to turn black ... white with blue
   text"). Inline styles => !important is required to override. */
html.prime-theme #cpWarmupOptIn { background: #0d0d0d !important; border-color: #1f1f1f !important; }
html.prime-theme #cpWarmupOptIn span { color: #e5e5e5 !important; }
html.prime-theme #cpWarmupOptInCheckbox { accent-color: #9b4dff !important; }
html.prime-theme #cpWarmupOptInStatus { color: #a3a3a3 !important; }
html.prime-theme #cpLaunchConnectCta { background: #0d0d0d !important; border-color: #1f1f1f !important; }
html.prime-theme #cpLaunchConnectCta span,
html.prime-theme #cpLaunchConnectCta #cpLaunchConnectCtaText { color: #d4d4d4 !important; }

/* ==== geo-agent: hide the app's static testimonial columns; the moving
   prime-rail (prime-rails.js) replaces them. ==== */
html.prime-theme .testimonials-col { display: none !important; }

/* ── PI/shadcn button edges (Nadav 2026-08-03: "the edges of the buttons look
   vibe-coded"): Prime Intellect uses a consistent ~8px radius, not the pill
   (100px/999px) + oversized (12-14px) radii the app had. Normalize every action
   button to the PI radius so the edges read designed, not vibe-coded. Tags/
   badges/avatars keep their own shapes; this targets buttons only. ── */
html.prime-theme .cp-launch-btn,
html.prime-theme .cp-add-website-btn,
html.prime-theme .cp-outreach-btn,
html.prime-theme .cp-nav-btn,
html.prime-theme .cp-nav-next,
html.prime-theme .cp-nav-back,
html.prime-theme .prime-demo-edit,
html.prime-theme .prime-demo-retry,
html.prime-theme .prime-ftue-next,
html.prime-theme .cp-draft-tone-regenerate,
html.prime-theme button.cp-primary,
html.prime-theme .cp-checkout-btn { border-radius: 8px !important; }

/* ── Cross-page navigation feel (Nadav 2026-08-05: "the sidebar should stay and
   only the right side of the screen reloads"). The app is an MPA — every rail
   link is a real navigation — so we use MPA View Transitions: same-origin navs
   get a fast cross-fade instead of a hard white repaint, and naming the
   sidebar's transition group keeps the rail visually FIXED while the content
   area swaps. Browsers without support simply ignore this (progressive
   enhancement); the render-blocking dark stylesheet above already guarantees
   no white flash everywhere. ── */
@view-transition { navigation: auto; }
::view-transition-old(root), ::view-transition-new(root) { animation-duration: 0.14s; }
html.prime-theme .sidebar { view-transition-name: geodo-sidebar; }
::view-transition-old(geodo-sidebar), ::view-transition-new(geodo-sidebar) { animation: none; }

/* ── personality step: visible editable prompt (2026-08-12) ── */
html.prime-theme .prime-demo-prompt { margin: 14px 0 4px; }
html.prime-theme .prime-demo-prompt-label { font-family: var(--prime-mono, monospace); font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(255,255,255,0.55); margin-bottom: 6px; }
html.prime-theme .prime-demo-prompt textarea { width: 100%; box-sizing: border-box; background: rgba(255,255,255,0.04); color: rgba(255,255,255,0.9); border: 1px solid rgba(255,255,255,0.14); border-radius: 10px; padding: 12px 14px; font-family: var(--prime-mono, monospace); font-size: 12.5px; line-height: 1.55; resize: vertical; min-height: 120px; }
html.prime-theme .prime-demo-prompt textarea:focus { outline: none; border-color: rgba(120,13,248,0.6); }
html.prime-theme .prime-demo-prompt-hint { font-size: 11px; color: rgba(255,255,255,0.4); margin-top: 5px; }

/* Reddit personality step: the control-panel markup was introduced for both
   themes, but only Vercel received layout styles. Prime therefore rendered raw
   block elements plus the obsolete composer in one cramped column. */
html.prime-theme #cpStep4.prime-demo-on .prime-demo-panel[data-channel="reddit"] {
  padding: 32px 24px 48px;
  justify-content: flex-start;
  scrollbar-gutter: stable;
}
html.prime-theme #cpStep4.prime-demo-on .prime-demo-panel[data-channel="reddit"] .prime-demo-cols {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 440px);
  align-items: center;
  gap: 44px;
  width: min(1120px, 100%);
  margin: auto;
}
html.prime-theme #cpStep4.prime-demo-on .prime-demo-panel[data-channel="reddit"] .prime-demo-left,
html.prime-theme #cpStep4.prime-demo-on .prime-demo-panel[data-channel="reddit"] .prime-demo-right { min-width: 0; }
html.prime-theme #cpStep4.prime-demo-on .prime-demo-panel[data-channel="reddit"] .prime-demo-lead { margin-bottom: 18px; }
html.prime-theme #cpStep4.prime-demo-on .prime-demo-panel[data-channel="reddit"] .prime-demo-lead-kicker {
  color: #a3a3a3; font-family: var(--pt-mono); font-size: 10px; font-weight: 650;
  letter-spacing: .1em; text-transform: uppercase; margin-bottom: 8px;
}
html.prime-theme #cpStep4.prime-demo-on .prime-demo-panel[data-channel="reddit"] .prime-demo-lead-title {
  color: #fafafa; font-size: 24px; font-weight: 700; line-height: 1.2; letter-spacing: -.025em;
}
html.prime-theme #cpStep4.prime-demo-on .prime-demo-panel[data-channel="reddit"] .prime-demo-lead-sub {
  max-width: 56ch; margin-top: 9px; color: #a3a3a3; font-size: 13px; line-height: 1.6;
}
html.prime-theme #cpStep4.prime-demo-on .prime-demo-panel[data-channel="reddit"] .prime-demo-card {
  padding: 20px 22px; background: #111; border: 1px solid #292929; border-radius: 14px;
}
html.prime-theme #cpStep4.prime-demo-on .prime-demo-panel[data-channel="reddit"] .prime-demo-card .prime-demo-msg-head {
  padding-bottom: 13px; margin-bottom: 14px; border-bottom: 1px solid #252525;
}
html.prime-theme #cpStep4.prime-demo-on .prime-demo-panel[data-channel="reddit"] .prime-demo-card .prime-demo-body { line-height: 1.72; }
html.prime-theme #cpStep4.prime-demo-on .prime-demo-panel[data-channel="reddit"] .prime-ctrl {
  padding: 22px; background: #111; border: 1px solid #292929; border-radius: 14px;
}
html.prime-theme #cpStep4.prime-demo-on .prime-demo-panel[data-channel="reddit"] .prime-ctrl-head { margin-bottom: 16px; }
html.prime-theme #cpStep4.prime-demo-on .prime-demo-panel[data-channel="reddit"] .prime-ctrl-title { color:#fafafa; font-size:17px; font-weight:700; }
html.prime-theme #cpStep4.prime-demo-on .prime-demo-panel[data-channel="reddit"] .prime-ctrl-sub { color:#a3a3a3; font-size:12.5px; line-height:1.55; margin-top:5px; }
html.prime-theme #cpStep4.prime-demo-on .prime-demo-panel[data-channel="reddit"] .prime-ctrl-actions {
  display:flex; flex-wrap:wrap; gap:8px; margin-bottom:20px;
}
html.prime-theme #cpStep4.prime-demo-on .prime-demo-panel[data-channel="reddit"] .prime-ctrl-btn {
  display:inline-flex; align-items:center; gap:6px; min-height:34px; padding:7px 11px;
  background:#191919; border:1px solid #343434; border-radius:8px; color:#e5e5e5;
  font:550 12px/1.2 var(--pt-sans); cursor:pointer;
}
html.prime-theme #cpStep4.prime-demo-on .prime-demo-panel[data-channel="reddit"] .prime-ctrl-btn:hover { background:#252525; border-color:#505050; }
html.prime-theme #cpStep4.prime-demo-on .prime-demo-panel[data-channel="reddit"] .prime-ctrl-btn-ic { color:#a3a3a3; font-size:14px; }
html.prime-theme #cpStep4.prime-demo-on .prime-demo-panel[data-channel="reddit"] .prime-demo-prompt { margin:0; }
html.prime-theme #cpStep4.prime-demo-on .prime-demo-panel[data-channel="reddit"] .prime-demo-prompt textarea {
  min-height:220px; padding:14px 15px; background:#0b0b0b; border-color:#303030; font-size:12.5px; line-height:1.65;
}
html.prime-theme #cpStep4.prime-demo-on .prime-demo-panel[data-channel="reddit"] .prime-demo-prompt-foot { margin-top:12px; }
html.prime-theme #cpStep4.prime-demo-on .prime-demo-panel[data-channel="reddit"] .prime-demo-prompt-hint { display:block; margin-bottom:10px; }
html.prime-theme #cpStep4.prime-demo-on .prime-demo-panel[data-channel="reddit"] .prime-demo-apply {
  display:inline-flex; align-items:center; justify-content:center; gap:8px; width:100%; min-height:42px;
  padding:10px 14px; background:#f4f4ef; border:1px solid #f4f4ef; border-radius:8px;
  color:#111; font:650 13px/1 var(--pt-sans); cursor:pointer;
}
html.prime-theme #cpStep4.prime-demo-on .prime-demo-panel[data-channel="reddit"] .prime-demo-apply-ic { width:15px; height:15px; }
html.prime-theme #cpStep4.prime-demo-on .cp-inline-chat,
html.prime-theme #cpStep4.prime-demo-on #cpDraftChatHistory,
html.prime-theme #cpStep4.prime-demo-on #cpDraftChatInput { display:none !important; }
@media (max-width: 980px) {
  html.prime-theme #cpStep4.prime-demo-on .prime-demo-panel[data-channel="reddit"] .prime-demo-cols {
    grid-template-columns:1fr; align-items:stretch; gap:28px; width:min(620px,100%);
  }
}
@media (max-width: 640px) {
  html.prime-theme #cpStep4.prime-demo-on .prime-demo-panel[data-channel="reddit"] { padding:22px 16px 36px; }
  html.prime-theme #cpStep4.prime-demo-on .prime-demo-panel[data-channel="reddit"] .prime-demo-lead-title { font-size:21px; }
  html.prime-theme #cpStep4.prime-demo-on .prime-demo-panel[data-channel="reddit"] .prime-ctrl { padding:18px; }
}

/* first-campaign guide close button (2026-08-31) */
html.prime-theme .prime-ftue-bubble { position: relative; }
html.prime-theme .prime-ftue-close { position: absolute; top: 4px; right: 8px; background: none; border: 0; color: #777; font-size: 15px; cursor: pointer; pointer-events: auto; padding: 2px 4px; }
html.prime-theme .prime-ftue-close:hover { color: #e5e5e5; }
