/* ============================================================================
   vercel-theme.css — the Vercel light visual theme for app.geodo.ai (2026-08).
   PRESENTATION ONLY. Every selector is scoped under html.vercel-theme (added by
   /vercel-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. Mirrors the
   prime-theme.css pattern. Tokens: Geist, #fafafa/#fff, #eaeaea borders, black
   primary buttons.
   ========================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700&family=Geist+Mono:wght@400;500;600&display=swap');


/* ############## v2:2ad478240063a8623cd23dc42310a479b230ad0793f229999b9dbbc3403f2570 ############## */
html.vercel-theme{
  --vc-bg:#fafafa; --vc-card:#ffffff; --vc-card-hover:#f5f5f5; --vc-popover:#ffffff;
  --vc-surface:#f4f4f4; --vc-fg:#171717; --vc-fg-strong:#000000; --vc-muted:#666666; --vc-dim:#8f8f8f;
  --vc-border:#eaeaea; --vc-border-strong:#d4d4d4; --vc-border-soft:#f0f0f0;
  --vc-accent:#000000; --vc-accent-hover:#333333; --vc-accent-fg:#ffffff; --vc-accent-soft:#efefef;
  --vc-green:#0a7d3f; --vc-green-text:#0a7d3f; --vc-amber:#a86b00; --vc-red:#c0322f; --vc-blue:#0070f3;
  --vc-sans:'Geist',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --vc-mono:'Geist Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
}

/* ==== SECTION: base (vercel) ==== */
html.vercel-theme { color-scheme: light; }
html.vercel-theme body { background: var(--vc-bg); color: var(--vc-fg); font-family: var(--vc-sans); }
html.vercel-theme ::selection { background: #000; color: #fff; }
html.vercel-theme ::-webkit-scrollbar { width: 8px; height: 8px; }
html.vercel-theme ::-webkit-scrollbar-thumb { background: #d8d8d8; border-radius: 4px; }
html.vercel-theme ::-webkit-scrollbar-thumb:hover { background: #c2c2c2; }
html.vercel-theme ::-webkit-scrollbar-track { background: transparent; }

/* ==== SECTION: shared-sidebar (vercel) ==== */

/* ---- Shell — light bg, thin right border, Geist ---- */
html.vercel-theme .sidebar,
html.vercel-theme .cp-dash-sidebar,
html.vercel-theme .gp-dash-sidebar,
html.vercel-theme .eo-sidebar {
  background: var(--vc-bg) !important;
  color: var(--vc-fg) !important;
  border-right-color: var(--vc-border) !important;
  font-family: var(--vc-sans) !important;
}

/* ---- Header / brand ---- */
html.vercel-theme .sidebar .sidebar-top,
html.vercel-theme .sidebar .sidebar-header {
  border-bottom-color: var(--vc-border) !important;
}
html.vercel-theme .sidebar .sidebar-brand { color: var(--vc-fg) !important; }
/* geodo-logo.png reads as a dark mark on the light sidebar — no plate needed */
html.vercel-theme .sidebar .sidebar-logo { background: transparent !important; }

/* ---- Nav items: muted → hover #f5f5f5 → active #efefef/#000 ---- */
html.vercel-theme .sidebar .sidebar-settings-btn {
  background: transparent !important;
  color: var(--vc-muted) !important;
}
html.vercel-theme .sidebar .sidebar-settings-btn svg { stroke: var(--vc-muted) !important; }
html.vercel-theme .sidebar .sidebar-settings-btn:hover {
  background: var(--vc-card-hover) !important;
  color: var(--vc-fg) !important;
}
html.vercel-theme .sidebar .sidebar-settings-btn:hover svg { stroke: var(--vc-fg) !important; }
html.vercel-theme .sidebar .sidebar-settings-btn.sb-active,
html.vercel-theme .sidebar .sidebar-settings-btn.page-active,
html.vercel-theme .sidebar .sidebar-settings-btn.active {
  background: var(--vc-accent-soft) !important;
  color: var(--vc-fg-strong) !important;
  /* subtle 1px ring — real buttons have border:none, so use inset shadow */
  box-shadow: inset 0 0 0 1px var(--vc-border-strong) !important;
}
html.vercel-theme .sidebar .sidebar-settings-btn.sb-active svg,
html.vercel-theme .sidebar .sidebar-settings-btn.page-active svg,
html.vercel-theme .sidebar .sidebar-settings-btn.active svg { stroke: var(--vc-fg-strong) !important; }
html.vercel-theme .cp-dash-sidebar .sb-link.sb-active,
html.vercel-theme .gp-dash-sidebar .sb-link.sb-active,
html.vercel-theme .eo-sidebar .sb-link.sb-active {
  background: var(--vc-accent-soft) !important;
  color: var(--vc-fg-strong) !important;
}
/* legacy new-chat-btn (cohort-hidden, kept for safety) */
html.vercel-theme .sidebar .new-chat-btn {
  background: var(--vc-surface) !important;
  border-color: var(--vc-border-strong) !important;
  color: var(--vc-muted) !important;
}
html.vercel-theme .sidebar .new-chat-btn:hover { background: var(--vc-card-hover) !important; color: var(--vc-fg) !important; }

/* ---- Inbox unread badge (Vercel: black bg / white text) ---- */
html.vercel-theme .sidebar .sidebar-unread-badge {
  background: var(--vc-accent) !important;
  color: var(--vc-accent-fg) !important;
  font-family: var(--vc-mono) !important;
}
/* New-activity dot (collapsed rail): red stays THE attention color on the
   monochrome light rail; ring matches the light shell so the dot floats. */
html.vercel-theme .sidebar { --geo-rail-ring: var(--vc-bg); }

/* ---- New Campaign CTA — black fill (base = mobile + expanded) ---- */
html.vercel-theme .sidebar #sidebarNewCampaignBtn {
  background: var(--vc-accent) !important;
  color: var(--vc-accent-fg) !important;
}
html.vercel-theme .sidebar #sidebarNewCampaignBtn svg { stroke: var(--vc-accent-fg) !important; }
html.vercel-theme .sidebar #sidebarNewCampaignBtn:hover {
  background: var(--vc-accent-hover) !important;
  color: var(--vc-accent-fg) !important;
}

/* ---- Recents / conversations (on /app) ---- */
html.vercel-theme .sidebar .conv-section-label {
  color: var(--vc-dim) !important;
  font-family: var(--vc-mono) !important;
}
html.vercel-theme .sidebar .conv-item { color: var(--vc-muted) !important; }
html.vercel-theme .sidebar .conv-item:hover { background: var(--vc-card-hover) !important; color: var(--vc-fg) !important; }
html.vercel-theme .sidebar .conv-item.active { background: var(--vc-accent-soft) !important; color: var(--vc-fg-strong) !important; }
html.vercel-theme .sidebar .conv-item-dot { background: var(--vc-border-strong) !important; }
html.vercel-theme .sidebar .conv-empty { color: var(--vc-dim) !important; }
html.vercel-theme .sidebar .conv-rename-btn { color: var(--vc-dim) !important; }
html.vercel-theme .sidebar .conv-rename-btn:hover { background: var(--vc-card-hover) !important; color: var(--vc-fg) !important; }
html.vercel-theme .sidebar .sidebar-conversations::-webkit-scrollbar-thumb { background: #d8d8d8 !important; }

/* ---- Geo Agent recents (on /ai-agents) ---- */
/* The recents list ships hardcoded dark-theme colors (e.g. .agents-recents-item
   color:#ddd) that vanish on the light sidebar. Mirror .conv-item so the text is
   the same readable muted tone as every other item in the sidebar. */
html.vercel-theme .sidebar .agents-recents-title { color: var(--vc-dim) !important; }
html.vercel-theme .sidebar .agents-recents-item { color: var(--vc-muted) !important; }
html.vercel-theme .sidebar .agents-recents-item:hover,
html.vercel-theme .sidebar .agents-recents-item.active { background: var(--vc-card-hover) !important; color: var(--vc-fg) !important; }
html.vercel-theme .sidebar .agents-recents-more { color: var(--vc-dim) !important; }
html.vercel-theme .sidebar .agents-recents-more:hover { background: var(--vc-card-hover) !important; color: var(--vc-fg) !important; }
html.vercel-theme .sidebar .agents-recents-empty,
html.vercel-theme .sidebar .agents-recents-loading { color: var(--vc-dim) !important; }
html.vercel-theme .sidebar .agents-recents-newchat { color: var(--vc-fg) !important; border-color: var(--vc-border-strong) !important; }
html.vercel-theme .sidebar .agents-recents-newchat:hover { background: var(--vc-card-hover) !important; color: var(--vc-fg-strong) !important; }

/* ---- Footer — muted, thin top border ---- */
html.vercel-theme .sidebar .sidebar-bottom,
html.vercel-theme .sidebar-bottom[data-geodo-sidebar-bottom],
html.vercel-theme .sidebar .sidebar-bottom[data-geodo-sidebar-bottom] {
  background: transparent !important;
  border-top-color: var(--vc-border) !important;
}
html.vercel-theme .sidebar .sidebar-footer-settings-btn { color: var(--vc-muted) !important; }
html.vercel-theme .sidebar .sidebar-footer-settings-btn:hover { color: var(--vc-fg) !important; }
html.vercel-theme .sidebar .sidebar-bottom .sidebar-profile-link:hover { background: var(--vc-card-hover) !important; }
html.vercel-theme .sidebar .sidebar-bottom .user-avatar,
html.vercel-theme .sidebar .sidebar-bottom[data-geodo-sidebar-bottom] .user-avatar {
  background: var(--vc-surface) !important;
  color: var(--vc-muted) !important;
  box-shadow: inset 0 0 0 1px var(--vc-border) !important;
}
html.vercel-theme .sidebar .sidebar-bottom .user-avatar svg,
html.vercel-theme .sidebar .sidebar-bottom[data-geodo-sidebar-bottom] .user-avatar svg { stroke: var(--vc-muted) !important; }
html.vercel-theme .sidebar .sidebar-bottom .user-name,
html.vercel-theme .sidebar .sidebar-bottom[data-geodo-sidebar-bottom] .user-name { color: var(--vc-fg) !important; }
html.vercel-theme .sidebar .sidebar-bottom[data-geodo-sidebar-bottom] .sidebar-profile-link:hover .user-name { color: var(--vc-fg) !important; }
html.vercel-theme .sidebar .sidebar-bottom .user-email,
html.vercel-theme .sidebar .sidebar-bottom[data-geodo-sidebar-bottom] .user-email { color: var(--vc-dim) !important; }
html.vercel-theme .sidebar .sidebar-bottom .signout-btn,
html.vercel-theme .sidebar .sidebar-bottom[data-geodo-sidebar-bottom] .signout-btn { color: var(--vc-dim) !important; }
html.vercel-theme .sidebar .sidebar-bottom .signout-btn:hover,
html.vercel-theme .sidebar .sidebar-bottom[data-geodo-sidebar-bottom] .signout-btn:hover {
  background: var(--vc-card-hover) !important;
  color: var(--vc-fg) !important;
}

/* Credit badge — flat muted treatment, mono micro-label */
html.vercel-theme .sidebar .credit-badge,
html.vercel-theme .sidebar .credit-badge.unlimited,
html.vercel-theme .sidebar .credit-badge.low,
html.vercel-theme .sidebar .credit-badge.empty,
html.vercel-theme .sidebar .sidebar-bottom .credit-badge,
html.vercel-theme .sidebar .sidebar-bottom .credit-badge.unlimited,
html.vercel-theme .sidebar .sidebar-bottom .credit-badge.low,
html.vercel-theme .sidebar .sidebar-bottom .credit-badge.empty {
  background: transparent !important;
  color: var(--vc-muted) !important;
  border-color: transparent !important;
  box-shadow: none !important;
  font-family: var(--vc-mono) !important;
}

/* Report a bug — semantic red kept */
html.vercel-theme .sidebar #reportBugBtn { color: var(--vc-muted) !important; }
html.vercel-theme .sidebar #reportBugBtn:hover { color: var(--vc-fg) !important; }
html.vercel-theme .sidebar #reportBugBtn svg { stroke: var(--vc-red) !important; }
html.vercel-theme .sidebar #reportBugBtn:hover svg { stroke: #9e2620 !important; }

/* ---- Desktop floating rail (mirrors sidebar.js @media 721px structure) ---- */
@media (min-width: 721px) {
  /* Collapsed rail keeps the CTA flat — muted icon, fills black only when the rail
     expands on hover/focus. */
  html.vercel-theme .sidebar #sidebarNewCampaignBtn {
    background: transparent !important;
    color: var(--vc-muted) !important;
  }
  html.vercel-theme .sidebar #sidebarNewCampaignBtn svg { stroke: var(--vc-muted) !important; }
  html.vercel-theme .sidebar #sidebarNewCampaignBtn:hover { background: var(--vc-accent-soft) !important; }
  html.vercel-theme .sidebar:hover #sidebarNewCampaignBtn,
  html.vercel-theme .sidebar:focus-within #sidebarNewCampaignBtn {
    background: var(--vc-accent) !important;
    color: var(--vc-accent-fg) !important;
  }
  html.vercel-theme .sidebar:hover #sidebarNewCampaignBtn svg,
  html.vercel-theme .sidebar:focus-within #sidebarNewCampaignBtn svg { stroke: var(--vc-accent-fg) !important; }
  html.vercel-theme .sidebar:hover #sidebarNewCampaignBtn:hover,
  html.vercel-theme .sidebar:focus-within #sidebarNewCampaignBtn:hover { background: var(--vc-accent-hover) !important; }

  /* Footer Settings/Enterprise circle in the collapsed 60px rail */
  html.vercel-theme .sidebar .sidebar-bottom .sidebar-footer-settings-btn {
    background: var(--vc-surface) !important;
    color: var(--vc-muted) !important;
  }
  html.vercel-theme .sidebar .sidebar-bottom .sidebar-footer-settings-btn:hover {
    background: var(--vc-accent-soft) !important;
    color: var(--vc-fg) !important;
  }
  /* Expanded rail: circle relaxes back to a transparent pill (order matters — after collapsed rules) */
  html.vercel-theme .sidebar:hover .sidebar-bottom .sidebar-footer-settings-btn,
  html.vercel-theme .sidebar:focus-within .sidebar-bottom .sidebar-footer-settings-btn {
    background: transparent !important;
  }
  html.vercel-theme .sidebar:hover .sidebar-bottom .sidebar-footer-settings-btn:hover,
  html.vercel-theme .sidebar:focus-within .sidebar-bottom .sidebar-footer-settings-btn:hover {
    background: var(--vc-card-hover) !important;
    color: var(--vc-fg) !important;
  }
}

/* ---- Enterprise contact modal (opened from the sidebar footer; styled in the
       same sidebar.js-injected block; flipped to light) ---- */
html.vercel-theme .geo-enterprise-modal {
  background: var(--vc-card) !important;
  color: var(--vc-fg) !important;
  box-shadow: 0 0 0 1px var(--vc-border), 0 30px 80px -20px rgba(0, 0, 0, 0.18) !important;
  font-family: var(--vc-sans) !important;
}
html.vercel-theme .geo-enterprise-modal h2 { color: var(--vc-fg) !important; }
html.vercel-theme .geo-enterprise-modal p { color: var(--vc-muted) !important; }
html.vercel-theme .geo-enterprise-modal .geo-contact-row {
  border-color: var(--vc-border) !important;
  color: var(--vc-fg) !important;
}
html.vercel-theme .geo-enterprise-modal .geo-contact-row:hover {
  border-color: var(--vc-border-strong) !important;
  background: var(--vc-card-hover) !important;
}
html.vercel-theme .geo-enterprise-modal .geo-contact-row .geo-contact-icon { background: var(--vc-surface) !important; }
html.vercel-theme .geo-enterprise-modal .geo-contact-row .geo-contact-icon svg { stroke: var(--vc-fg) !important; }
html.vercel-theme .geo-enterprise-modal .geo-contact-row .geo-contact-label { color: var(--vc-dim) !important; }
html.vercel-theme .geo-enterprise-modal .geo-modal-close { color: var(--vc-dim) !important; }
html.vercel-theme .geo-enterprise-modal .geo-modal-close:hover { background: var(--vc-card-hover) !important; color: var(--vc-fg) !important; }
html.vercel-theme .geo-enterprise-modal .geo-enterprise-foot { color: var(--vc-dim) !important; }

/* ############## v2:3683b11ba21bdf541aff34d67db5cb522db3cf7f9cde3352d97ec28276d99ea0 ############## */
/* ==== SECTION: INBOX (vercel) ==== */

/* -- Token overrides: everything var-driven flips with these -- */
html.vercel-theme {
  --ix-bg: var(--vc-bg);
  --ix-card: var(--vc-card);
  --ix-border: var(--vc-border);
  --ix-text: var(--vc-fg);
  --ix-muted: var(--vc-muted);
  --ix-accent: var(--vc-accent);
}
html.vercel-theme body { background: var(--ix-bg); color: var(--ix-text); font-family: var(--vc-sans); }
html.vercel-theme ::selection { background: #000; color: #fff; }
html.vercel-theme ::-webkit-scrollbar-thumb { background: #d8d8d8; }
html.vercel-theme ::-webkit-scrollbar-thumb:hover { background: #c2c2c2; }
html.vercel-theme ::-webkit-scrollbar-track { background: transparent; }

/* -- Sidebar rail (align to light shell) -- */
html.vercel-theme .sidebar { background: var(--vc-bg); }
html.vercel-theme .sidebar-brand { color: var(--vc-fg-strong); }

/* -- Topbar -- */
html.vercel-theme .ix-mark { background: linear-gradient(135deg, #000000, #333333); }

/* -- Channel chips (active = black pill, white text — Vercel primary) -- */
html.vercel-theme .ix-chip { background: transparent; border-color: var(--vc-border); color: var(--vc-muted); }
html.vercel-theme .ix-chip:hover { background: var(--vc-card-hover); border-color: var(--vc-border-strong); }
html.vercel-theme .ix-chip.active { background: var(--vc-accent); border-color: var(--vc-accent); color: var(--vc-accent-fg); }

/* -- Gmail scope banner (amber) -- */
html.vercel-theme .ix-banner { border-color: rgba(168, 107, 0, 0.35); background: rgba(168, 107, 0, 0.08); color: var(--vc-amber); }
html.vercel-theme .ix-banner a { color: var(--vc-amber); }
/* inline-style hotspot: #gmailUpgradeBtn ships style="border-color:#e3c98a; background:#fff;" */
html.vercel-theme #gmailUpgradeBtn { background: var(--vc-card) !important; border-color: rgba(168, 107, 0, 0.5) !important; color: var(--vc-amber); }

/* -- Buttons / inputs (secondary = white card + hairline border) -- */
html.vercel-theme .ix-btn { background: var(--vc-card); border-color: var(--vc-border); color: var(--ix-text); }
html.vercel-theme .ix-btn.primary { background: var(--vc-accent); border-color: var(--vc-accent); color: var(--vc-accent-fg); }
html.vercel-theme .ix-btn.primary:hover { background: var(--vc-accent-hover); border-color: var(--vc-accent-hover); }
html.vercel-theme .ix-icon-btn { background: var(--vc-card); border-color: var(--vc-border); color: var(--vc-muted); }
html.vercel-theme .ix-icon-btn:hover { color: var(--vc-fg-strong); }
html.vercel-theme .ix-toolbar input[type="search"] { background: var(--vc-card); border-color: var(--vc-border); color: var(--vc-fg); }
html.vercel-theme .ix-toolbar input[type="search"]::placeholder { color: var(--vc-dim); }
html.vercel-theme .ix-toolbar input[type="search"]:focus { border-color: var(--vc-border-strong); background: var(--vc-card); }
html.vercel-theme .ix-toolbar select { background: var(--vc-card); border-color: var(--vc-border); color: var(--vc-fg); }

/* -- Conversation list rows -- */
html.vercel-theme .ix-row:hover { background: var(--vc-card-hover); }
html.vercel-theme .ix-row.selected { background: var(--vc-accent-soft); border-left-color: var(--vc-accent); }
html.vercel-theme .ix-row.unread .ix-snippet { color: var(--vc-fg-strong); }
html.vercel-theme .ix-avatar { background: var(--vc-surface); color: var(--vc-muted); }
html.vercel-theme .ix-row-meta { color: var(--vc-dim); }
html.vercel-theme .ix-time { color: var(--vc-dim); font-family: var(--vc-mono); }
html.vercel-theme .ix-snippet { color: var(--vc-muted); }
html.vercel-theme .ix-load-row .ix-btn { background: var(--vc-card); border-color: var(--vc-border); }
html.vercel-theme .ix-profile-link { color: var(--vc-blue); }

/* Unread dot → solid black (Vercel unread marker) */
html.vercel-theme .ix-dot { background: var(--vc-accent); box-shadow: none; }

/* 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.vercel-theme .ix-tag,
html.vercel-theme .ix-tag.other { background: var(--vc-surface); color: var(--vc-muted); border: 1px solid var(--vc-border); font-family: var(--vc-mono); }
/* Per-channel colors on the BASE tag classes inbox.js assigns (no JS needed):
   LinkedIn blue, Gmail/email light red, Agent Mail gray. */
html.vercel-theme .ix-tag.linkedin  { background: rgba(10,102,194,0.10); color: #0a66c2; border: 1px solid rgba(10,102,194,0.30); font-family: var(--vc-mono); }
html.vercel-theme .ix-tag.email     { background: rgba(234,67,53,0.10);  color: #c5221f; border: 1px solid rgba(234,67,53,0.30); font-family: var(--vc-mono); }
html.vercel-theme .ix-tag.agentmail { background: #f4f4f5; color: #52525b; border: 1px solid #d4d4d8; font-family: var(--vc-mono); }
html.vercel-theme .ix-tag.prime-ch-gmail    { background: rgba(234,67,53,0.10);   color: #c5221f; border-color: rgba(234,67,53,0.30); }
html.vercel-theme .ix-tag.prime-ch-linkedin { background: rgba(10,102,194,0.10);  color: #0a66c2; border-color: rgba(10,102,194,0.30); }
html.vercel-theme .ix-tag.prime-ch-agentmail{ background: rgba(139,92,246,0.10);  color: #6d28d9; border-color: rgba(139,92,246,0.30); }
html.vercel-theme .ix-tag.prime-ch-outlook  { background: rgba(0,114,198,0.10);   color: #005a9e; border-color: rgba(0,114,198,0.30); }
html.vercel-theme .ix-tag.prime-ch-email    { background: rgba(16,185,129,0.10);  color: var(--vc-green); border-color: rgba(16,185,129,0.30); }
html.vercel-theme .ix-tag.prime-ch-sent     { background: var(--vc-surface); color: var(--vc-muted); border-color: var(--vc-border); }
html.vercel-theme .ix-reply-back { color: var(--vc-amber); background: rgba(168, 107, 0, 0.08); font-family: var(--vc-mono); }

/* -- Automation greens (list rows, badges, notes) — light variants -- */
html.vercel-theme .ix-row.ix-row-automated { background: rgba(10, 125, 63, 0.05); border-left-color: var(--vc-green); box-shadow: inset 0 0 0 1px rgba(10, 125, 63, 0.22); }
html.vercel-theme .ix-row.ix-row-automated:hover { background: rgba(10, 125, 63, 0.09); }
html.vercel-theme .ix-row.ix-row-automated.selected { background: rgba(10, 125, 63, 0.12); box-shadow: inset 0 0 0 1px rgba(10, 125, 63, 0.32); }
html.vercel-theme .ix-row.ix-row-bulk-selected { background: rgba(10, 125, 63, 0.10); box-shadow: inset 0 0 0 1px rgba(10, 125, 63, 0.28); }
html.vercel-theme .ix-bulk-check input { accent-color: var(--vc-green); }
html.vercel-theme .ix-row-auto-note { color: var(--vc-green); }
html.vercel-theme .ix-automated-badge { background: rgba(10, 125, 63, 0.10); color: var(--vc-green); font-family: var(--vc-mono); }

/* Bulk automation bar */
html.vercel-theme .ix-bulk-bar { border-bottom-color: rgba(10, 125, 63, 0.30); background: rgba(10, 125, 63, 0.08); color: var(--vc-green); }
html.vercel-theme .ix-bulk-btn { border-color: rgba(10, 125, 63, 0.35); background: var(--vc-card); color: var(--vc-green); }
html.vercel-theme .ix-bulk-btn.primary { background: var(--vc-green); border-color: var(--vc-green); color: var(--vc-accent-fg); }

/* -- Account picker popover (under channel chips) -- */
html.vercel-theme .ix-chip-pop { background: var(--vc-popover); border-color: var(--vc-border); box-shadow: 0 12px 32px rgba(0, 0, 0, 0.12); }
html.vercel-theme .ix-chip-pop .ix-pop-head { color: var(--vc-dim); font-family: var(--vc-mono); }
html.vercel-theme .ix-chip-pop button { color: var(--vc-fg); }
html.vercel-theme .ix-chip-pop button:hover { background: var(--vc-card-hover); }
html.vercel-theme .ix-chip-pop button.active { background: var(--vc-accent-soft); }
html.vercel-theme .ix-chip-pop button .ix-pop-check { color: var(--vc-muted); }

/* -- Thread pane -- */
html.vercel-theme .ix-auto-thread-status { border-color: rgba(10, 125, 63, 0.30); background: rgba(10, 125, 63, 0.08); color: var(--vc-green); font-family: var(--vc-mono); }
html.vercel-theme .ix-auto-thread-status:hover { border-color: rgba(10, 125, 63, 0.50); background: rgba(10, 125, 63, 0.15); }
html.vercel-theme .ix-msg.them { background: var(--vc-surface); color: var(--vc-fg); }
html.vercel-theme .ix-msg.me { background: var(--vc-accent); color: var(--vc-accent-fg); }
html.vercel-theme .ix-msg-meta { color: var(--vc-dim); font-family: var(--vc-mono); }
html.vercel-theme .ix-msg.me .ix-msg-meta { color: rgba(255, 255, 255, 0.7); }

/* Email cards (chrome only — the iframe body itself stays white, see NOTES) */
html.vercel-theme .ix-email-card { background: var(--vc-card); border-color: var(--vc-border); box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06); }
html.vercel-theme .ix-email-card.me { border-color: var(--vc-border-strong); }
html.vercel-theme .ix-email-meta { background: var(--vc-surface); border-bottom-color: var(--vc-border); color: var(--vc-muted); }
html.vercel-theme .ix-email-body { background: var(--vc-card); }
html.vercel-theme .ix-email-text { color: var(--vc-fg); }

/* -- Composer -- */
html.vercel-theme .ix-composer textarea { background: var(--vc-card); border-color: var(--vc-border); color: var(--vc-fg); }
html.vercel-theme .ix-composer textarea::placeholder { color: var(--vc-dim); }
html.vercel-theme .ix-composer textarea:focus { border-color: var(--vc-border-strong); box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.08); }
html.vercel-theme .ix-credit-hint { color: var(--vc-dim); font-family: var(--vc-mono); }
html.vercel-theme .ix-composer-automation { border-color: var(--vc-border); background: var(--vc-surface); }
html.vercel-theme .ix-auto-composer-title { color: var(--vc-fg); }
html.vercel-theme .ix-auto-composer-sub { color: var(--vc-muted); }
html.vercel-theme .ix-auto-composer-btn { background: var(--vc-card); border-color: var(--vc-border); color: var(--vc-fg); }
html.vercel-theme .ix-auto-composer-btn:hover { background: var(--vc-card-hover); border-color: var(--vc-border-strong); }
html.vercel-theme .ix-auto-composer-btn.ix-automate-on,
html.vercel-theme .ix-automate-btn.ix-automate-on { background: rgba(10, 125, 63, 0.10); border-color: rgba(10, 125, 63, 0.40); color: var(--vc-green); }

/* -- Compose-new-email form (Agent Mail) + settings pane -- */
html.vercel-theme .ix-compose input, html.vercel-theme .ix-compose textarea { background: var(--vc-card); border-color: var(--vc-border); color: var(--vc-fg); }
html.vercel-theme .ix-compose input::placeholder, html.vercel-theme .ix-compose textarea::placeholder { color: var(--vc-dim); }
html.vercel-theme .ix-compose input:focus, html.vercel-theme .ix-compose textarea:focus { border-color: var(--vc-border-strong); box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.08); }
html.vercel-theme .ix-settings-label { font-family: var(--vc-mono); }

/* -- Automation setup modal (inbox-automation.js) -- */
html.vercel-theme .ix-auto-overlay { background: rgba(0, 0, 0, 0.30); }
html.vercel-theme .ix-auto-modal { background: var(--vc-card); box-shadow: 0 0 0 1px var(--vc-border), 0 24px 64px rgba(0, 0, 0, 0.15); }
html.vercel-theme .ix-auto-chat { background: var(--vc-surface); }
html.vercel-theme .ix-auto-bubble.bot { background: var(--vc-card); color: var(--vc-fg); }
html.vercel-theme .ix-auto-bubble.user { background: var(--vc-accent); color: var(--vc-accent-fg); }
html.vercel-theme .ix-auto-options button { border-color: var(--vc-border); background: var(--vc-card); color: var(--vc-fg); }
html.vercel-theme .ix-auto-options button:hover { border-color: var(--vc-border-strong); background: var(--vc-card-hover); }
html.vercel-theme .ix-auto-progress { background: var(--vc-surface); }
html.vercel-theme .ix-auto-progress span { background: var(--vc-green); }
html.vercel-theme .ix-auto-err { color: var(--vc-red); }
html.vercel-theme .ix-auto-compose { background: var(--vc-card); }
html.vercel-theme .ix-auto-compose input { background: var(--vc-card); border-color: var(--vc-border); color: var(--vc-fg); }
html.vercel-theme .ix-auto-compose input::placeholder { color: var(--vc-dim); }
html.vercel-theme .ix-auto-compose input:focus { border-color: var(--vc-border-strong); box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.08); }

/* -- Toast (dark chip, Vercel notification style) -- */
html.vercel-theme .ix-toast { background: var(--vc-fg-strong); color: var(--vc-accent-fg); box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.1), 0 12px 32px rgba(0, 0, 0, 0.25); }
html.vercel-theme .ix-toast.error { background: var(--vc-red); box-shadow: 0 12px 32px rgba(0, 0, 0, 0.25); }

/* ############## v2:5b2590d36471f1263fc5b7adabb3d76d98f6e23816e0bea2e4261f506e804cae ############## */
/* ==== SECTION: campaigns-overview (vercel) ==== */

/* -- root / boot -- */
html.vercel-theme { color-scheme: light; }
html.vercel-theme body { background: var(--vc-bg); color: var(--vc-fg); font-family: var(--vc-sans); }
html.vercel-theme body.cp-booting { background: var(--vc-bg); }
html.vercel-theme .cp-main-area { background: var(--vc-bg); }
html.vercel-theme .cp-boot-loading-btn { background: var(--vc-surface); border-color: var(--vc-border); color: var(--vc-muted); }
html.vercel-theme .cp-boot-logo { box-shadow: 0 10px 28px rgba(0, 0, 0, 0.12); }

/* -- overview topbar -- */
html.vercel-theme .cp-ov-topbar { background: var(--vc-bg); border-bottom-color: var(--vc-border); }
html.vercel-theme .cp-ov-title { color: var(--vc-fg); }
html.vercel-theme .cp-ov-sub { color: var(--vc-muted); }
html.vercel-theme .cp-ov-new-btn { background: var(--vc-accent); color: var(--vc-accent-fg); }
html.vercel-theme .cp-ov-new-btn:hover { background: var(--vc-accent-hover); }

/* -- overview body + stat boxes -- */
html.vercel-theme .cp-ov-body { background: var(--vc-bg); }
html.vercel-theme .cp-ov-stat { background: var(--vc-card); border-color: var(--vc-border); }
html.vercel-theme .cp-ov-stat-label { color: var(--vc-dim); font-family: var(--vc-mono); }
html.vercel-theme .cp-ov-stat-value { color: var(--vc-fg); }
html.vercel-theme .cp-ov-stat-sub { color: var(--vc-dim); }
html.vercel-theme .cp-ov-section-title { color: var(--vc-dim); font-family: var(--vc-mono); text-transform: uppercase; letter-spacing: 0.12em; font-size: 11.5px; }

/* -- campaign cards -- */
/* Vercel-clean tiles: crisp white cards on #fafafa with thin borders and a
   subtle hover-lift. The prime "laser ray" texture is dropped (off-brand for
   Vercel light) — background-image is neutralized so the card reads flat white. */
html.vercel-theme .cp-ov-card,
html.vercel-theme .cp-ov-stat,
html.vercel-theme .cp-ov-credits {
  background-color: var(--vc-card);
  background-image: none;
  border-color: var(--vc-border);
  transition: border-color 0.16s ease, background-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}
html.vercel-theme .cp-ov-card:hover {
  border-color: var(--vc-border-strong);
  background-color: var(--vc-card-hover);
  background-image: none;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
  transform: translateY(-1px);
}
/* "Start new campaign" / primary CTA lights up on hover too. */
html.vercel-theme .cp-ov-new-btn { transition: background 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease; }
html.vercel-theme .cp-ov-new-btn:hover { box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18); transform: translateY(-1px); }
/* Full-COLOR brand logos on a light chip, thin ring so they read crisply. */
html.vercel-theme .cp-ov-card-logo {
  background: var(--vc-surface) !important;
  box-shadow: inset 0 0 0 1px var(--vc-border) !important;
}
html.vercel-theme .cp-ov-card-logo svg,
html.vercel-theme .cp-ov-card-logo img { filter: none !important; }
html.vercel-theme .cp-ov-card-name { color: var(--vc-fg); }
html.vercel-theme .cp-ov-card-sent { color: var(--vc-fg); }
html.vercel-theme .cp-ov-card-sent-label { color: var(--vc-muted); }
html.vercel-theme .cp-ov-card-reason { color: var(--vc-amber); }
/* status word pill: semantic colors tuned for the light card bg */
html.vercel-theme .cp-ov-card-status-text { background: var(--vc-surface); color: var(--vc-muted); }
html.vercel-theme .cp-ov-card-status-text.active { background: rgba(10,125,63,0.12); color: var(--vc-green); }
html.vercel-theme .cp-ov-card-status-text.problem { background: rgba(168,107,0,0.14); color: var(--vc-amber); }
html.vercel-theme .cp-ov-card-status-text.stopped { background: rgba(220,38,38,0.12); color: var(--vc-red); }
html.vercel-theme .cp-ov-card-status-text.paused { background: var(--vc-surface); color: var(--vc-muted); }
html.vercel-theme .cp-ov-card-status-text.draft { background: var(--vc-surface); color: var(--vc-dim); }

/* -- draft cards (light dashed) -- */
html.vercel-theme .cp-ov-card-draft { background: var(--vc-card); border-color: var(--vc-border-strong); }
html.vercel-theme .cp-ov-card-draft:hover { border-color: var(--vc-border-strong); background: var(--vc-card-hover); box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08); }
html.vercel-theme .cp-ov-card-draft .cp-ov-card-name { color: var(--vc-muted); }
html.vercel-theme .cp-ov-card-draft-badge { color: var(--vc-muted); background: var(--vc-surface); font-family: var(--vc-mono); }
html.vercel-theme .cp-ov-card-draft-sub { color: var(--vc-dim); }
html.vercel-theme .cp-ov-card-draft-cta { color: var(--vc-fg); }
/* toggle button colors are inline (JS) -> !important on color only */
html.vercel-theme .cp-ov-drafts-toggle { color: var(--vc-muted) !important; }
html.vercel-theme .cp-ov-drafts-toggle:hover { color: var(--vc-fg) !important; }
/* read the drafts toggle as its OWN section header (uppercase mono label) */
html.vercel-theme .cp-ov-drafts-toggle { text-transform: uppercase; letter-spacing: 0.08em; }

/* == campaigns overview: VERTICAL LIST view (Nadav 2026-08-11) ===============
   Reflows the campaign card GRID into a single-column, table-style list you
   scroll straight down (was a multi-column grid). PRESENTATION ONLY: identical
   DOM, identical per-row channel logos, identical click-through — the
   data-conv-id (open campaign) and data-draft-id (resume) handlers are never
   touched, so every row opens the exact same campaign dashboard it does today.
   Applies to BOTH the live grid (#cpOvGrid) and the drafts grid
   (#cpOvDraftGrid); `display` is deliberately left alone so the drafts
   collapse/expand toggle keeps working. Inert when the theme class is absent. */
html.vercel-theme .cp-ov-grid {
  grid-template-columns: 1fr;   /* was repeat(auto-fill, minmax(260px,1fr)) -> one column */
  gap: 0;
  border: 1px solid var(--vc-border);
  border-radius: 10px;
  overflow: hidden;
  background: var(--vc-card);
}
/* each card -> a compact full-width row divided by a hairline */
html.vercel-theme .cp-ov-grid > .cp-ov-card {
  flex-direction: row;
  align-items: center;
  gap: 14px;
  min-height: 0;
  padding: 13px 16px;
  border: 0;
  border-bottom: 1px solid var(--vc-border-soft);
  border-radius: 0;
  background: transparent;
  background-image: none;
}
html.vercel-theme .cp-ov-grid > .cp-ov-card:last-child { border-bottom: 0; }
/* row hover: gentle tint, no lift (a table row must not jump) */
html.vercel-theme .cp-ov-grid > .cp-ov-card:hover {
  transform: none;
  box-shadow: none;
  background: var(--vc-card-hover);
}
/* left cluster (logo + name + status dot) fills and truncates */
html.vercel-theme .cp-ov-grid > .cp-ov-card > .cp-ov-card-head {
  order: 0;
  flex: 1 1 auto;
  min-width: 0;
}
/* status word pill sits in its own FIXED-WIDTH column mid-right. Fixed basis +
   min-width:0 (not content-sized) so its left edge never moves no matter how
   wide the sent count is — every row's status lines up in one straight vertical
   column (kills the old zip-line of dots). */
html.vercel-theme .cp-ov-grid > .cp-ov-card > .cp-ov-card-status {
  order: 1;
  margin-top: 0;            /* reset the base column-layout bottom-pin — this is a row */
  flex: 0 0 120px;
  min-width: 0;
  justify-content: flex-start;
}
/* sent count -> compact right-aligned "N sent" in a FIXED-WIDTH column so the
   status column to its left stays put. flex-basis fixed + min-width:0 keeps the
   column width constant; a very large count overflows left (right edges still
   align) rather than widening the column and shoving the status. */
html.vercel-theme .cp-ov-grid > .cp-ov-card > .cp-ov-card-meta {
  order: 2;
  flex: 0 0 152px;
  min-width: 0;
  align-items: baseline;
  justify-content: flex-end;
  white-space: nowrap;
  text-align: right;
}
html.vercel-theme .cp-ov-grid > .cp-ov-card .cp-ov-card-sent { font-size: 15px; }
html.vercel-theme .cp-ov-grid > .cp-ov-card .cp-ov-card-reason { margin-top: 0; }
/* logos: same size + crispness in every row, no matter how far you scroll */
html.vercel-theme .cp-ov-grid > .cp-ov-card .cp-ov-card-logo { width: 30px; height: 30px; }

/* draft rows: name + Draft badge on the left, reason muted, Resume CTA right */
html.vercel-theme .cp-ov-grid > .cp-ov-card-draft { align-items: center; }
html.vercel-theme .cp-ov-grid > .cp-ov-card-draft > .cp-ov-card-head {
  order: 0;
  flex: 0 1 auto;
  min-width: 0;
}
html.vercel-theme .cp-ov-grid > .cp-ov-card-draft > .cp-ov-card-draft-sub {
  order: 1;
  flex: 1 1 auto;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
html.vercel-theme .cp-ov-grid > .cp-ov-card-draft > .cp-ov-card-draft-cta {
  order: 2;
  flex: 0 0 auto;
  margin-top: 0;
  white-space: nowrap;
}

/* -- empty state -- */
html.vercel-theme .cp-ov-empty { background: var(--vc-card); border-color: var(--vc-border-strong); }
html.vercel-theme .cp-ov-empty-title { color: var(--vc-fg); }
html.vercel-theme .cp-ov-empty-sub { color: var(--vc-muted); }

/* -- credits panel -- */
html.vercel-theme .cp-ov-credits { background: var(--vc-card); border-color: var(--vc-border); }
html.vercel-theme .cp-ov-credits-title { color: var(--vc-fg); }
html.vercel-theme .cp-ov-credits-used { color: var(--vc-fg); }
html.vercel-theme .cp-ov-credits-bar { background: var(--vc-surface); }
html.vercel-theme .cp-ov-credits-bar-fill { background: linear-gradient(90deg, var(--vc-accent-hover), var(--vc-accent)); }
html.vercel-theme .cp-ov-credits-row { color: var(--vc-muted); }
html.vercel-theme .cp-ov-credits-row strong { color: var(--vc-fg); }
/* background-size re-declared because the shorthand above would otherwise reset the shimmer animation */
html.vercel-theme .cp-ov-skeleton { background: linear-gradient(90deg, #f0f0f0 0%, #e6e6e6 50%, #f0f0f0 100%); background-size: 200% 100%; }
html.vercel-theme .cp-ov-credits-info-btn { color: var(--vc-dim); }
html.vercel-theme .cp-ov-credits-info-btn:hover { background: var(--vc-surface); color: var(--vc-fg); }
html.vercel-theme .cp-ov-credits-info-btn:focus-visible { outline-color: var(--vc-dim); }

/* -- credits breakdown modal -- */
html.vercel-theme .cp-ov-credits-modal-backdrop { background: rgba(0, 0, 0, 0.4); }
html.vercel-theme .cp-ov-credits-modal { background: var(--vc-popover); box-shadow: 0 0 0 1px var(--vc-border), 0 24px 60px rgba(0, 0, 0, 0.16); }
html.vercel-theme .cp-ov-credits-modal-head { border-bottom-color: var(--vc-border); }
html.vercel-theme .cp-ov-credits-modal-title { color: var(--vc-fg); }
html.vercel-theme .cp-ov-credits-modal-sub { color: var(--vc-muted); }
html.vercel-theme .cp-ov-credits-modal-close { color: var(--vc-muted); }
html.vercel-theme .cp-ov-credits-modal-close:hover { background: var(--vc-surface); color: var(--vc-fg); }
html.vercel-theme .cp-ov-credits-modal-body { background: var(--vc-popover); }
html.vercel-theme .cp-ov-credits-modal-row { border-bottom-color: var(--vc-border); }
html.vercel-theme .cp-ov-credits-modal-row-label { color: var(--vc-fg); }
html.vercel-theme .cp-ov-credits-modal-row-meta { color: var(--vc-muted); }
html.vercel-theme .cp-ov-credits-modal-row-count { color: var(--vc-muted); }
html.vercel-theme .cp-ov-credits-modal-row-credits { color: var(--vc-fg); }
html.vercel-theme .cp-ov-credits-modal-empty { color: var(--vc-dim); }
html.vercel-theme .cp-ov-credits-modal-foot { color: var(--vc-dim); border-top-color: var(--vc-border); }

/* modal inline-style hotspots (markup built in cpOvShowCreditsBreakdownModal) */
/* segmented-tab container: inline background:#f3f4f6 + border #eceef1 */
html.vercel-theme .cp-ov-credits-modal div[style*="#f3f4f6"] { background: var(--vc-surface) !important; border-color: var(--vc-border) !important; }
/* tab buttons: JS toggles inline bg between #0a0a0a (active) and transparent — match both the
   authored hex form and the JS-serialized rgb() form. Active tab = Vercel black-on-fill. */
html.vercel-theme #cpOvCuTabUsed[style*="#0a0a0a"],
html.vercel-theme #cpOvCuTabCatalog[style*="#0a0a0a"],
html.vercel-theme #cpOvCuTabUsed[style*="rgb(10, 10, 10)"],
html.vercel-theme #cpOvCuTabCatalog[style*="rgb(10, 10, 10)"] { background: var(--vc-accent) !important; color: var(--vc-accent-fg) !important; }
html.vercel-theme #cpOvCuTabUsed[style*="transparent"],
html.vercel-theme #cpOvCuTabCatalog[style*="transparent"] { background: transparent !important; color: var(--vc-muted) !important; }
/* catalog rows: inline color #059669 (free) / #0a0a0a (priced) — keep semantic green / dark ink on light */
html.vercel-theme .cp-ov-credits-modal-row-credits[style*="#059669"] { color: var(--vc-green) !important; }
html.vercel-theme .cp-ov-credits-modal-row-credits[style*="#0a0a0a"] { color: var(--vc-fg) !important; }
/* catalog intro (#6b7280), category headers (#525252), used-pane summary (#9ca3af) — all inline */
html.vercel-theme #cpOvCuPaneCatalog div[style*="#6b7280"] { color: var(--vc-muted) !important; }
html.vercel-theme #cpOvCuPaneCatalog div[style*="#525252"] { color: var(--vc-dim) !important; }
html.vercel-theme #cpOvCuPaneUsed div[style*="#9ca3af"] { color: var(--vc-dim) !important; }

/* -- campaign dashboard topbar (quick pass, .cp-dash-*) -- */
html.vercel-theme .cp-dash-main { background: var(--vc-bg); }
html.vercel-theme .cp-dash-topbar { background: var(--vc-bg); border-bottom-color: var(--vc-border); }
html.vercel-theme .cp-dash-topbar-title { color: var(--vc-fg); }
html.vercel-theme .cp-dash-status-badge.active { background: rgba(10, 125, 63, 0.08); color: var(--vc-green); box-shadow: inset 0 0 0 1px rgba(10, 125, 63, 0.25); }
html.vercel-theme .cp-dash-status-badge.paused,
html.vercel-theme .cp-dash-status-badge.degraded { background: rgba(168, 107, 0, 0.09); color: var(--vc-amber); box-shadow: inset 0 0 0 1px rgba(168, 107, 0, 0.25); }
html.vercel-theme .cp-dash-status-badge.draft,
html.vercel-theme .cp-dash-status-badge.stopped { background: var(--vc-surface); color: var(--vc-muted); box-shadow: inset 0 0 0 1px var(--vc-border); }
html.vercel-theme .cp-dash-action-btn { background: var(--vc-card); border-color: var(--vc-border); color: var(--vc-fg); }
html.vercel-theme .cp-dash-action-btn:hover { border-color: var(--vc-border-strong); background: var(--vc-card-hover); color: var(--vc-fg); }
html.vercel-theme .cp-dash-action-btn.primary { background: var(--vc-accent); border-color: var(--vc-accent); color: var(--vc-accent-fg); }
html.vercel-theme .cp-dash-action-btn.primary:hover { background: var(--vc-accent-hover); border-color: var(--vc-accent-hover); }

/* ── campaign-detail (dashboard) CONTENT: panels, stat/KPI tiles, tables, and
   status pills themed to the Vercel light palette. ── */
html.vercel-theme .cp-dash-content,
html.vercel-theme .cp-dash-content-inner { background: transparent; color: var(--vc-fg); }
html.vercel-theme .cp-dash-section { background: var(--vc-card); border-color: var(--vc-border); }
html.vercel-theme .cp-dash-section-title { color: var(--vc-fg); }
html.vercel-theme .cp-dash-section-edit { background: transparent; border-color: var(--vc-border); color: var(--vc-muted); }
html.vercel-theme .cp-dash-section-edit:hover { border-color: var(--vc-border-strong); color: var(--vc-fg); }
/* KPI row + stat cards */
html.vercel-theme .cp-stat-card { background: var(--vc-card); border-color: var(--vc-border); }
html.vercel-theme .cp-stat-label { color: var(--vc-dim); }
html.vercel-theme .cp-stat-value { color: var(--vc-fg); }
html.vercel-theme .cp-kpis { border-top-color: var(--vc-border); }
html.vercel-theme .cp-kpi + .cp-kpi { border-left-color: var(--vc-border); }
html.vercel-theme .cp-kpi-label { color: var(--vc-dim); }
html.vercel-theme .cp-kpi-value { color: var(--vc-fg); }
html.vercel-theme .cp-kpi-sub { color: var(--vc-dim); }
html.vercel-theme .cp-stats-error,
html.vercel-theme .cp-stats-loading { color: var(--vc-muted); }
/* contact table */
html.vercel-theme .cp-dash-contact-table th { color: var(--vc-dim); border-bottom-color: var(--vc-border); }
html.vercel-theme .cp-dash-contact-table td { color: var(--vc-fg); border-bottom-color: var(--vc-border-soft); }
html.vercel-theme .cp-dash-contact-table tr:hover { background: var(--vc-card-hover); }
/* status pills/badges — light-tinted semantic colors */
html.vercel-theme .cp-status-pill.sent,
html.vercel-theme .cp-status-badge.sent { background: rgba(10, 125, 63, 0.10); color: var(--vc-green); }
html.vercel-theme .cp-status-pill.pending,
html.vercel-theme .cp-status-badge.pending,
html.vercel-theme .cp-status-badge.paused { background: rgba(168, 107, 0, 0.10); color: var(--vc-amber); }
html.vercel-theme .cp-status-pill.failed { background: rgba(192, 50, 47, 0.10); color: var(--vc-red); }
html.vercel-theme .cp-status-pill.opened { background: rgba(0, 112, 243, 0.10); color: var(--vc-blue); }
html.vercel-theme .cp-status-pill.replied { background: var(--vc-accent-soft); color: var(--vc-fg-strong); }

/* ############## v2:b3378ec922c24ff47c1d4eabb23b2202d5ef5b4e56715ff29f143605fc357ddb ############## */
/* (scoped under html.vercel-theme, same selectors, presentation-only, !important
   preserved only where prime used it, keyframes renamed to avoid clobbering the
   prime globals) — MUST stay a comment: as bare prose this line is invalid CSS
   and error recovery consumed everything up to the next `{`, dropping the
   .prime-chan-limit layout rule and making the channel counter overlap S-Tier. */

/* ==== SECTION: wizard extras (vercel) ==== */
html.vercel-theme .prime-chan-limit { display: flex; justify-content: center; margin: 2px 0 10px; }
html.vercel-theme .prime-chan-limit span {
  font-family: var(--vc-mono); font-size: 10.5px; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--vc-muted); background: var(--vc-surface); border: 1px solid var(--vc-border);
  border-radius: 999px; padding: 4px 13px; transition: color 0.2s, border-color 0.2s;
}
html.vercel-theme .prime-chan-limit.picked span { color: var(--vc-fg-strong); border-color: var(--vc-border-strong); background: var(--vc-accent-soft); }
/* Single-select: while one channel is picked, the others are greyed AND
   non-interactive — the click never reaches handleChannelSelect, so you must
   deselect the current one (click it again) before choosing another. The
   selected card is never dimmed, so it stays clickable to deselect. */
html.vercel-theme .prime-chan-dim { opacity: 0.32 !important; filter: grayscale(1) !important; transition: opacity 0.35s, filter 0.35s; pointer-events: none !important; cursor: not-allowed !important; }
html.vercel-theme .prime-next-pulse { animation: vercelNextPulse 1.5s ease-in-out infinite; }
@keyframes vercelNextPulse {
  0%, 100% { box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.18), 0 0 18px rgba(0, 0, 0, 0.12); }
  50% { box-shadow: 0 0 0 6px rgba(0, 0, 0, 0.10), 0 0 34px rgba(0, 0, 0, 0.22); }
}
html.vercel-theme .prime-ch-tip {
  position: fixed; z-index: 9980; max-width: 280px;
  background: var(--vc-popover); border: 1px solid var(--vc-border); border-radius: 10px;
  padding: 11px 14px; font-size: 12.5px; color: var(--vc-fg); line-height: 1.55;
  box-shadow: 0 12px 34px rgba(0, 0, 0, 0.14);
  pointer-events: none; opacity: 0; transition: opacity 0.12s;
  font-family: var(--vc-sans);
}
html.vercel-theme .prime-ch-tip.show { opacity: 1; }
html.vercel-theme .prime-ch-tip .tip-title { font-family: var(--vc-mono); font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--vc-fg-strong); margin-bottom: 5px; }
html.vercel-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(--vc-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--vc-muted); pointer-events: none;
  opacity: 0; transition: opacity 0.4s;
  text-shadow: 0 1px 3px rgba(255, 255, 255, 0.8);
}
html.vercel-theme .prime-scroll-hint.show { opacity: 1; }
html.vercel-theme .prime-scroll-hint svg { width: 18px; height: 18px; animation: vercelHintBounce 1.4s ease-in-out infinite; }
@keyframes vercelHintBounce { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(6px); } }

/* Channel step (#cpStep2) scrolls VERTICALLY only — never sideways (Nadav
   2026-08-11). .cp-step sets overflow-y:auto, which per the CSS overflow spec
   promotes the other axis to `auto` as well; pin overflow-x:hidden so a
   transiently-wide tier row can never spawn a horizontal scrollbar. */
html.vercel-theme #cpStep2.active { overflow-x: hidden; }

/* ==== SECTION: new-campaign-wizard (vercel) ==== */

/* ── Base surfaces + type ── */
html.vercel-theme { scrollbar-color: #d8d8d8 #f4f4f4; }
html.vercel-theme body { background: var(--vc-bg); color: var(--vc-fg); font-family: var(--vc-sans); }
html.vercel-theme .cp-main-area,
html.vercel-theme .cp-wizard,
html.vercel-theme .cp-step { background: var(--vc-bg); }
html.vercel-theme #cpStepFlowBuilder { background: var(--vc-bg); }
html.vercel-theme .cp-step,
html.vercel-theme .cp-contact-table-wrap,
html.vercel-theme .cp-drafts-wrap,
html.vercel-theme .cp-flow-chat-scroll,
html.vercel-theme .cp-flow-builder-page-wrap { scrollbar-color: #d8d8d8 #f4f4f4; }

/* ── Topbar ── */
html.vercel-theme .cp-topbar { background: rgba(255,255,255,0.85); border-bottom-color: var(--vc-border); }
html.vercel-theme .cp-back { color: var(--vc-muted); }
html.vercel-theme .cp-back:hover { color: var(--vc-fg); }
html.vercel-theme .cp-title { color: var(--vc-fg); }
html.vercel-theme .cp-badge { background: var(--vc-surface); color: var(--vc-fg); }
html.vercel-theme .cp-topbar-settings-btn { background: var(--vc-card); border-color: var(--vc-border); color: var(--vc-muted); }
html.vercel-theme .cp-topbar-settings-btn:hover { background: var(--vc-card-hover); border-color: var(--vc-border-strong); color: var(--vc-fg); }
html.vercel-theme .cp-topbar-settings-btn.is-job { background: rgba(10,125,63,0.08); border-color: rgba(10,125,63,0.4); color: var(--vc-green-text); box-shadow: 0 0 0 2px rgba(10,125,63,0.12); }
html.vercel-theme .cp-topbar-settings-btn.is-attn::after { background: var(--vc-green); box-shadow: 0 0 0 2px var(--vc-bg); }

/* ── Stepper (active pill = soft grey + black number) ── */
html.vercel-theme .cp-stepper-step .cp-stepper-num { font-family: var(--vc-mono); }
html.vercel-theme .cp-stepper-step.upcoming { background: transparent; color: var(--vc-dim); border-color: var(--vc-border); }
html.vercel-theme .cp-stepper-step.upcoming .cp-stepper-num { background: var(--vc-surface); color: var(--vc-dim); }
html.vercel-theme .cp-stepper-step.active { background: var(--vc-accent-soft); color: var(--vc-fg); border-color: var(--vc-border-strong); box-shadow: none; }
html.vercel-theme .cp-stepper-step.active .cp-stepper-num { background: var(--vc-accent); color: var(--vc-accent-fg); }
html.vercel-theme .cp-stepper-step.complete { background: var(--vc-surface); color: var(--vc-muted); border-color: var(--vc-border); }
html.vercel-theme .cp-stepper-step.complete .cp-stepper-num { background: var(--vc-accent); color: var(--vc-accent-fg); }
html.vercel-theme .cp-stepper-step.skipped { background: var(--vc-surface); color: var(--vc-dim); border-color: var(--vc-border); }
html.vercel-theme .cp-stepper-step.skipped .cp-stepper-num { background: var(--vc-accent-soft); color: var(--vc-dim); }
html.vercel-theme .cp-stepper-connector { background: var(--vc-border); }
html.vercel-theme .cp-stepper-connector.complete { background: var(--vc-border-strong); }

/* ── Step-1: testimonials, logo, card, textarea ── */
html.vercel-theme .cp-step-testimonial { background: var(--vc-card); border-color: var(--vc-border); box-shadow: 0 1px 0 rgba(0,0,0,0.02), 0 16px 36px -16px rgba(0,0,0,0.12); color: var(--vc-muted); }
html.vercel-theme .cp-step-testimonial-quote { color: var(--vc-fg); }
html.vercel-theme .cp-step-testimonial-meta { border-top-color: var(--vc-border); }
html.vercel-theme .cp-step-testimonial-name { color: var(--vc-fg); }
html.vercel-theme .cp-step-testimonial-role { color: var(--vc-dim); }

/* == review rails (prime-rails.js) — animated customer reviews, left + right ==
   prime-rails.js injects fixed .prime-rail columns (Geo Agent page). It now
   mounts under vercel-theme too; prime-theme.css styles+animates them dark, so
   here we style + animate them for the light theme. The keyframe is redefined
   locally because prime-theme.css is not loaded when vercel-theme is active.
   aria-hidden + pointer-events:none in the markup -> never intercepts a click. */
html.vercel-theme .prime-rail {
  position: fixed; top: 0; bottom: 0; width: 22%;
  overflow: hidden; opacity: 0.62; pointer-events: none; padding: 0 20px; z-index: 1;
}
html.vercel-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.vercel-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. sidebar.js pins .sidebar as a
   fixed 60px rail at left:0 (z-index 9000) and offsets page content with
   body.has-floating-sidebar { padding-left: 60px }. The left review column is
   position:fixed left:0, so without this its cards slid UNDER the sidebar and
   got clipped. Start it to the RIGHT of the rail, matching the content gutter.
   Gated on has-floating-sidebar so full-bleed onboarding (no sidebar) is unchanged. */
html.vercel-theme body.has-floating-sidebar .prime-rail.left { left: 60px; }
@media (max-width: 1100px) { html.vercel-theme .prime-rail { display: none; } }
html.vercel-theme .prime-rail-track { display: flex; flex-direction: column; will-change: transform; }
html.vercel-theme .prime-rail.left .prime-rail-track { animation: vcRailScroll 42s linear infinite; }
html.vercel-theme .prime-rail.right .prime-rail-track { animation: vcRailScroll 54s linear infinite; }
@keyframes vcRailScroll { from { transform: translateY(0); } to { transform: translateY(-50%); } }
@media (prefers-reduced-motion: reduce) { html.vercel-theme .prime-rail-track { animation: none !important; } }
html.vercel-theme .prime-rail-card {
  background: var(--vc-card); border: 1px solid var(--vc-border); border-radius: 18px;
  padding: 16px 18px; margin-bottom: 18px; max-width: 280px;
  font-family: var(--vc-sans);
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.02), 0 16px 36px -18px rgba(0, 0, 0, 0.10);
}
html.vercel-theme .prime-rail-card .prq { font-size: 13px; color: var(--vc-muted); line-height: 1.5; }
html.vercel-theme .prime-rail-card .prw { display: flex; align-items: center; gap: 9px; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--vc-border); }
html.vercel-theme .prime-rail-card .pra { width: 28px; height: 28px; border-radius: 50%; background: var(--vc-accent); color: var(--vc-accent-fg); display: grid; place-items: center; font-size: 12px; font-weight: 700; flex-shrink: 0; }
html.vercel-theme .prime-rail-card .prn { font-size: 12.5px; font-weight: 600; color: var(--vc-fg); }
html.vercel-theme .prime-rail-card .prr { font-size: 11px; color: var(--vc-dim); }
html.vercel-theme .cp-logo-area .cp-brand { color: var(--vc-fg); }
html.vercel-theme .cp-logo-area img { box-shadow: 0 2px 12px rgba(0,0,0,0.1); }
html.vercel-theme .cp-card-title { color: var(--vc-fg); }
html.vercel-theme .cp-card-sub { color: var(--vc-muted); }
html.vercel-theme .cp-textarea-wrap { border-bottom-color: var(--vc-border-strong); }
html.vercel-theme .cp-textarea { color: var(--vc-fg); scrollbar-color: #d8d8d8 #f4f4f4; }
html.vercel-theme .cp-textarea::placeholder { color: var(--vc-dim); }
html.vercel-theme .chat-mic-btn { border-color: var(--vc-border); color: var(--vc-dim); }
html.vercel-theme .chat-mic-btn:hover { border-color: var(--vc-border-strong); color: var(--vc-fg); }
html.vercel-theme .chat-mic-btn.recording { border-color: rgba(192,50,47,0.5); color: var(--vc-red); background: rgba(192,50,47,0.08); }
html.vercel-theme .cp-textarea-wrap .chat-mic-btn { background: var(--vc-bg); }
html.vercel-theme .cp-add-website-btn { border-color: var(--vc-border); color: var(--vc-muted); }
html.vercel-theme .cp-add-website-btn:hover { border-color: var(--vc-border-strong); color: var(--vc-fg); background: var(--vc-card-hover); }
html.vercel-theme .cp-website-input-wrap { background: var(--vc-card); border-color: var(--vc-border); }
html.vercel-theme .cp-website-input { background: var(--vc-bg); border-color: var(--vc-border); color: var(--vc-fg); }
html.vercel-theme .cp-website-input:focus { border-color: var(--vc-border-strong); }
html.vercel-theme .cp-website-input::placeholder { color: var(--vc-dim); }
html.vercel-theme .cp-website-analyze-btn { background: var(--vc-accent); color: var(--vc-accent-fg); }
html.vercel-theme .cp-website-analyze-btn:hover { background: var(--vc-accent-hover); }
html.vercel-theme .cp-website-status { color: var(--vc-dim); }
html.vercel-theme .cp-website-status.error { color: var(--vc-red); }
html.vercel-theme .cp-website-status.success { color: var(--vc-green-text); }
html.vercel-theme .cp-website-status.warn { color: var(--vc-amber); }

/* ── Nav buttons (Next / Back) ── */
html.vercel-theme .cp-continue-btn { background: var(--vc-accent); color: var(--vc-accent-fg); }
html.vercel-theme .cp-continue-btn:hover { background: var(--vc-accent-hover); }
html.vercel-theme .cp-continue-btn.secondary { background: var(--vc-card); color: var(--vc-muted); border-color: var(--vc-border); }
html.vercel-theme .cp-continue-btn.secondary:hover { background: var(--vc-card-hover); border-color: var(--vc-border-strong); color: var(--vc-fg); }
/* .cp-continue-btn.green keeps its green — no override */
html.vercel-theme .cp-nav { background: rgba(255,255,255,0.9); border-top-color: var(--vc-border); box-shadow: 0 -1px 8px rgba(0,0,0,0.04); }

/* ── Step-2: channel tiles + tiers ── */
html.vercel-theme .cp-tier-icp-banner { background: var(--vc-card); border-color: var(--vc-border); color: var(--vc-muted); }
html.vercel-theme .cp-tier-icp-banner b { color: var(--vc-fg); }
html.vercel-theme .cp-tier-badge { font-family: var(--vc-mono); }
html.vercel-theme .cp-tier-badge.s { background: var(--vc-surface); color: var(--vc-fg); box-shadow: none; }
html.vercel-theme .cp-tier-badge.a { background: var(--vc-surface); color: var(--vc-muted); }
html.vercel-theme .cp-tier-badge.b { background: var(--vc-surface); color: var(--vc-muted); }
html.vercel-theme .cp-tier-badge.c { background: var(--vc-surface); color: var(--vc-dim); }
html.vercel-theme .cp-tier-label { color: var(--vc-muted); }
html.vercel-theme .cp-tier-sublabel { color: var(--vc-dim); }
html.vercel-theme .cp-channel-card { background: var(--vc-card); border-color: var(--vc-border); }
html.vercel-theme .cp-channel-card:hover { border-color: var(--vc-border-strong); background: var(--vc-card-hover); }
html.vercel-theme .cp-channel-card.selected { border-color: var(--vc-accent); background: var(--vc-card-hover); box-shadow: 0 0 0 2px rgba(0,0,0,0.1); }
html.vercel-theme .cp-channel-card.connected::after { color: var(--vc-green-text); }
html.vercel-theme .cp-channel-name { color: var(--vc-fg); }
html.vercel-theme .cp-channel-status { color: var(--vc-dim); font-family: var(--vc-mono); }
/* tier variants: unify on white card + black selection */
html.vercel-theme .cp-channel-card.tier-s { border-color: var(--vc-border); background: var(--vc-card); }
html.vercel-theme .cp-channel-card.tier-s:hover { border-color: var(--vc-border-strong); background: var(--vc-card-hover); }
html.vercel-theme .cp-channel-card.tier-s.selected { border-color: var(--vc-accent); box-shadow: 0 0 0 2px rgba(0,0,0,0.12); }
html.vercel-theme .cp-channel-card.tier-a { border-color: var(--vc-border); }
html.vercel-theme .cp-channel-card.tier-a:hover { border-color: var(--vc-border-strong); background: var(--vc-card-hover); }
html.vercel-theme .cp-channel-card.tier-a.selected { border-color: var(--vc-accent); box-shadow: 0 0 0 2px rgba(0,0,0,0.12); }
html.vercel-theme .cp-channel-card.tier-b { border-color: var(--vc-border); }
html.vercel-theme .cp-channel-card.tier-b:hover { border-color: var(--vc-border-strong); background: var(--vc-card-hover); }
html.vercel-theme .cp-channel-card.tier-b.selected { border-color: var(--vc-accent); box-shadow: 0 0 0 2px rgba(0,0,0,0.12); }
html.vercel-theme .cp-channel-card.tier-c { border-color: var(--vc-border); }
html.vercel-theme .cp-channel-card.tier-c:hover { border-color: var(--vc-border-strong); background: var(--vc-card-hover); }
html.vercel-theme .cp-channel-card.tier-c.selected { border-color: var(--vc-accent); box-shadow: 0 0 0 2px rgba(0,0,0,0.12); }
/* Keep a subtle chip behind brand logos for a consistent, contained mark. */
html.vercel-theme .cp-channel-icon { background: var(--vc-surface); border-radius: 11px; box-shadow: 0 1px 3px rgba(0,0,0,0.08); }
html.vercel-theme .cp-channel-icon svg,
html.vercel-theme .cp-channel-icon img { width: 30px; height: 30px; }

/* ── Step-2: outreach-type + account picker ── */
html.vercel-theme .cp-outreach-btn { background: var(--vc-card); border-color: var(--vc-border); }
html.vercel-theme .cp-outreach-btn:hover { border-color: var(--vc-border-strong); background: var(--vc-card-hover); }
html.vercel-theme .cp-outreach-btn:focus-visible { outline-color: var(--vc-blue); }
html.vercel-theme .cp-outreach-btn.selected { border-color: var(--vc-accent); background: var(--vc-card-hover); box-shadow: 0 0 0 2px rgba(0,0,0,0.12); }
html.vercel-theme .cp-outreach-btn.needs-selection { border-color: var(--vc-red); background: rgba(192,50,47,0.06); }
html.vercel-theme .cp-outreach-type-name { color: var(--vc-fg); }
html.vercel-theme .cp-outreach-type-desc { color: var(--vc-dim); }
html.vercel-theme .cp-outreach-nudge,
html.vercel-theme .cp-account-nudge { border-color: rgba(192,50,47,0.35); background: rgba(192,50,47,0.06); color: var(--vc-red); }
html.vercel-theme .cp-account-picker { background: var(--vc-card); border-color: var(--vc-border); }
html.vercel-theme .cp-account-picker-title { color: var(--vc-fg); }
html.vercel-theme .cp-account-item:hover { background: var(--vc-card-hover); }
html.vercel-theme .cp-account-item.selected { background: var(--vc-accent-soft); }
html.vercel-theme .cp-account-item.needs-selection { border-color: var(--vc-red); background: rgba(192,50,47,0.06); }
html.vercel-theme .cp-account-radio { border-color: var(--vc-border-strong); }
html.vercel-theme .cp-account-item.selected .cp-account-radio { border-color: var(--vc-accent); }
html.vercel-theme .cp-account-item.selected .cp-account-radio::after { background: var(--vc-accent); }
html.vercel-theme .cp-account-name { color: var(--vc-fg); }
html.vercel-theme .cp-account-badge { color: var(--vc-muted); background: var(--vc-surface); }

/* ── Campaign-type choice (cpStepFlowChoice) ── */
html.vercel-theme .cp-campaign-type-card { background: var(--vc-card); border-color: var(--vc-border); color: var(--vc-fg); }
html.vercel-theme .cp-campaign-type-card:hover,
html.vercel-theme .cp-campaign-type-card.active { border-color: var(--vc-border-strong); box-shadow: 0 12px 34px rgba(0,0,0,0.1); }
html.vercel-theme .cp-campaign-type-card.active { outline-color: var(--vc-accent); }
html.vercel-theme .cp-campaign-type-kicker { background: var(--vc-surface); color: var(--vc-muted); font-family: var(--vc-mono); }
html.vercel-theme .cp-campaign-type-title { color: var(--vc-fg); }
html.vercel-theme .cp-campaign-type-copy { color: var(--vc-muted); }
html.vercel-theme .cp-campaign-type-visual { border-color: var(--vc-border); background: linear-gradient(180deg, var(--vc-surface) 0%, var(--vc-card) 100%); }
html.vercel-theme .cp-direct-mail-card { border-color: var(--vc-border); background: var(--vc-surface); box-shadow: 0 8px 22px rgba(0,0,0,0.08); }
html.vercel-theme .cp-direct-mail-row { background: var(--vc-border-strong); }
html.vercel-theme .cp-direct-send-dot { background: var(--vc-accent); box-shadow: 0 10px 24px rgba(0,0,0,0.15); }
html.vercel-theme .cp-flow-visual-line { background: var(--vc-border-strong); }
html.vercel-theme .cp-flow-mini-node { border-color: var(--vc-border); background: var(--vc-surface); box-shadow: 0 8px 18px rgba(0,0,0,0.08); }
html.vercel-theme .cp-flow-mini-node::before { background: var(--vc-border-strong); }
html.vercel-theme .cp-flow-mini-node::after { background: var(--vc-border-strong); }
html.vercel-theme .cp-flow-mini-branch { border-top-color: var(--vc-border-strong); border-right-color: var(--vc-border-strong); border-bottom-color: var(--vc-border-strong); }
html.vercel-theme .cp-flow-mini-pill { color: var(--vc-muted); background: var(--vc-surface); border-color: var(--vc-border); }

/* ── Flow-builder step ── */
html.vercel-theme .cp-flow-hero-title { color: var(--vc-fg); }
html.vercel-theme .cp-flow-hero-sub { color: var(--vc-muted); }
html.vercel-theme .cp-flow-chip { background: var(--vc-surface); border-color: var(--vc-border); color: var(--vc-fg); }
html.vercel-theme .cp-flow-chip:hover { background: var(--vc-accent-soft); border-color: var(--vc-border-strong); }
html.vercel-theme .cp-flow-composer { background: var(--vc-card); border-color: var(--vc-border); box-shadow: 0 1px 2px rgba(0,0,0,0.04), 0 8px 24px rgba(0,0,0,0.06); }
html.vercel-theme .cp-flow-composer:focus-within { border-color: var(--vc-border-strong); box-shadow: 0 1px 2px rgba(0,0,0,0.05), 0 12px 28px rgba(0,0,0,0.08); }
html.vercel-theme .cp-flow-composer-input { color: var(--vc-fg); }
html.vercel-theme .cp-flow-composer-input::placeholder { color: var(--vc-dim); }
html.vercel-theme .cp-flow-composer-mic { background: var(--vc-surface); color: var(--vc-muted); border-color: var(--vc-border); }
html.vercel-theme .cp-flow-composer-mic:hover { background: var(--vc-accent-soft); border-color: var(--vc-border-strong); color: var(--vc-fg); }
html.vercel-theme .cp-flow-composer-mic.recording { background: rgba(192,50,47,0.1); border-color: rgba(192,50,47,0.45); color: var(--vc-red); }
html.vercel-theme .cp-flow-composer-send { background: var(--vc-accent); color: var(--vc-accent-fg); }
html.vercel-theme .cp-flow-composer-send:hover { background: var(--vc-accent-hover); }
html.vercel-theme .cp-flow-composer-send:disabled { background: var(--vc-surface); color: var(--vc-dim); }
html.vercel-theme #cpStepFlowBuilder .cp-flow-build-btn,
html.vercel-theme .cp-flow-build-btn { background: var(--vc-surface); color: var(--vc-dim); }
/* .cp-flow-build-btn.ready keeps its green — no override */
html.vercel-theme .cp-flow-side-card { background: var(--vc-card); border-color: var(--vc-border); box-shadow: 0 6px 24px rgba(0,0,0,0.06); }
html.vercel-theme .cp-flow-side-card-quote { color: var(--vc-fg); }
html.vercel-theme .cp-flow-side-card-attrib { color: var(--vc-dim); }
html.vercel-theme .cp-flow-progress-strip { background: var(--vc-bg); color: var(--vc-dim); }
html.vercel-theme .cp-flow-progress-dot { background: var(--vc-border-strong); }
html.vercel-theme .cp-flow-progress-dot.filled { background: var(--vc-accent); }
html.vercel-theme .cp-flow-progress-dot.filled.tail { background: var(--vc-green); }
html.vercel-theme .cp-flow-progress-label { color: var(--vc-muted); }
html.vercel-theme .cp-flow-progress-label.pending { color: var(--vc-dim); }
html.vercel-theme .cp-flow-preview-modal { background: var(--vc-card); box-shadow: 0 24px 60px rgba(0,0,0,0.18); }
html.vercel-theme .cp-flow-preview-close { color: var(--vc-muted); }
html.vercel-theme .cp-flow-preview-close:hover { background: var(--vc-surface); color: var(--vc-fg); }
html.vercel-theme .cp-flow-preview-title { color: var(--vc-fg); }
html.vercel-theme .cp-flow-preview-summary { background: var(--vc-surface); color: var(--vc-fg); }
html.vercel-theme .cp-flow-preview-mermaid { background: var(--vc-card); border-color: var(--vc-border); }
html.vercel-theme .cp-flow-preview-errors { background: rgba(192,50,47,0.06); border-color: rgba(192,50,47,0.35); color: var(--vc-red); }
html.vercel-theme .cp-flow-preview-secondary { background: var(--vc-surface); color: var(--vc-fg); }
html.vercel-theme .cp-flow-preview-secondary:hover { background: var(--vc-accent-soft); }
html.vercel-theme .cp-flow-preview-primary { background: var(--vc-accent); color: var(--vc-accent-fg); }
html.vercel-theme .cp-flow-preview-primary:hover { background: var(--vc-accent-hover); }
html.vercel-theme .cp-flow-preview-primary:disabled { background: var(--vc-surface); color: var(--vc-dim); }
html.vercel-theme .cp-flow-builder-canvas-title { color: var(--vc-fg); }
html.vercel-theme .cp-flow-builder-canvas-copy { color: var(--vc-dim); }
html.vercel-theme #cpFlowBuilderCanvasShell .cp-flow-canvas { background: var(--vc-bg); }
html.vercel-theme .cp-flow-picker-btn { background: var(--vc-surface); border-color: var(--vc-border); color: var(--vc-fg); }
html.vercel-theme .cp-flow-picker-btn:hover { background: var(--vc-accent-soft); border-color: var(--vc-border-strong); }
html.vercel-theme .cp-flow-builder-canvas-head .cp-flow-action-btn.primary { background: var(--vc-accent); border-color: var(--vc-accent); color: var(--vc-accent-fg); }
html.vercel-theme .cp-flow-builder-canvas-head .cp-flow-action-btn.primary:hover { background: var(--vc-accent-hover); }

/* ── Geo chat bubbles (cp2, contacts + drafts steps) ── */
html.vercel-theme .cp2-bubble { background: var(--vc-card); border-color: var(--vc-border); color: var(--vc-fg); box-shadow: 0 1px 2px rgba(0,0,0,0.04); }
html.vercel-theme .cp2-msg.cp2-msg-user .cp2-bubble { background: var(--vc-surface); color: var(--vc-fg); border-color: var(--vc-surface); }
html.vercel-theme .cp2-user-avatar { background: var(--vc-accent); color: var(--vc-accent-fg); }
html.vercel-theme .cp2-geo-next button { background: var(--vc-accent); color: var(--vc-accent-fg); }
html.vercel-theme .cp2-geo-next button:hover { background: var(--vc-accent-hover); }
html.vercel-theme .cp2-resume-row { border-color: var(--vc-border-strong); background: var(--vc-card); }
html.vercel-theme .cp2-resume-row:hover { background: var(--vc-card-hover); border-color: var(--vc-border-strong); }
html.vercel-theme .cp2-resume-pill { color: var(--vc-green-text); background: rgba(10,125,63,0.08); border-color: rgba(10,125,63,0.4); }

/* ── Contacts step: headline + fake stack + real cards ── */
html.vercel-theme .cp-icp-headline { color: var(--vc-muted); }
html.vercel-theme .cp-icp-headline strong { color: var(--vc-fg); }
html.vercel-theme .cp-fake-row { background: var(--vc-card); border-color: var(--vc-border); }
html.vercel-theme .cp-fake-avatar { background: var(--vc-surface); color: var(--vc-dim); }
html.vercel-theme .cp-fake-name { color: var(--vc-fg); }
html.vercel-theme .cp-fake-meta { color: var(--vc-dim); }
html.vercel-theme .cp-real-card { background: var(--vc-card); border-color: var(--vc-accent); box-shadow: 0 6px 22px rgba(0,0,0,0.1); }
html.vercel-theme .cp-real-avatar { background: var(--vc-accent); color: var(--vc-accent-fg); }
html.vercel-theme .cp-real-name { color: var(--vc-fg); }
html.vercel-theme .cp-real-meta { color: var(--vc-muted); }
html.vercel-theme .cp-real-contact { color: var(--vc-dim); }
html.vercel-theme .cp-real-link { background: var(--vc-surface); color: var(--vc-muted); }
html.vercel-theme .cp-real-link:hover { background: var(--vc-accent-soft); color: var(--vc-fg); }
html.vercel-theme .cp-icp-prompt { color: var(--vc-muted); }
html.vercel-theme .cp-icp-prompt strong { color: var(--vc-fg); }
html.vercel-theme .cp-contact-table th { color: var(--vc-dim); border-bottom-color: var(--vc-border); background: var(--vc-bg); }
html.vercel-theme .cp-contact-table td { color: var(--vc-fg); border-bottom-color: var(--vc-border); }
html.vercel-theme .cp-contact-table tr:hover td { background: var(--vc-card-hover); }
html.vercel-theme .cp-contact-table .cp-contact-avatar,
html.vercel-theme .cp-contact-avatar { background: var(--vc-surface); color: var(--vc-muted); }
html.vercel-theme .cp-contact-empty,
html.vercel-theme .cp-draft-empty { color: var(--vc-dim); }
html.vercel-theme .cp-contacts-table th { color: var(--vc-dim); border-bottom-color: var(--vc-border); }
html.vercel-theme .cp-contacts-table td { color: var(--vc-muted); border-bottom-color: var(--vc-border-soft); }
html.vercel-theme .cp-contacts-table tr:hover { background: var(--vc-card-hover); }
html.vercel-theme .cp-contact-name { color: var(--vc-fg); }

/* ── Inline chat composer (contacts + drafts) ── */
html.vercel-theme .cp-inline-chat { background: transparent; border-top-color: var(--vc-border); }
html.vercel-theme .cp-inline-chat-input { background: var(--vc-bg); border-color: var(--vc-border); color: var(--vc-fg); box-shadow: 0 1px 2px rgba(0,0,0,0.04); }
html.vercel-theme .cp-inline-chat-input:focus { border-color: var(--vc-border-strong); }
html.vercel-theme .cp-inline-chat-input::placeholder { color: var(--vc-dim); }
html.vercel-theme .cp-inline-chat .chat-mic-btn { background: var(--vc-surface); }
html.vercel-theme .cp-inline-chat-send { background: var(--vc-accent); color: var(--vc-accent-fg); }
html.vercel-theme .cp-inline-chat-send:hover { background: var(--vc-accent-hover); }
html.vercel-theme .cp-inline-chat-info { color: var(--vc-dim); }

/* ── Drafts step: chat rows, tone slider, rules rail, cards ── */
html.vercel-theme .cp-draft-chat-history-head { color: var(--vc-dim); }
html.vercel-theme .cp-draft-chat-bubble.user { background: var(--vc-surface); color: var(--vc-fg); }
html.vercel-theme .cp-draft-chat-bubble.geo { background: var(--vc-card); color: var(--vc-fg); border-color: var(--vc-border); }
html.vercel-theme .cp-draft-chat-bubble.geo .cp-draft-chat-applied-count { color: var(--vc-dim); }
html.vercel-theme .cp-draft-chat-row .cp-draft-chat-avatar { background: var(--vc-surface); color: var(--vc-muted); }
html.vercel-theme .cp-draft-chat-row.user .cp-draft-chat-avatar { background: var(--vc-accent); color: var(--vc-accent-fg); }
html.vercel-theme .cp-draft-chat-bubble.geo.with-card { background: var(--vc-card); border-color: var(--vc-border); box-shadow: 0 1px 2px rgba(0,0,0,0.04); color: var(--vc-fg); }
html.vercel-theme .cp-draft-tone-control { border-color: var(--vc-border); background: var(--vc-card); }
html.vercel-theme .cp-draft-tone-head { color: var(--vc-fg); }
html.vercel-theme .cp-draft-tone-label { color: var(--vc-muted); }
html.vercel-theme .cp-draft-tone-endpoint { color: var(--vc-dim); }
html.vercel-theme .cp-draft-tone-slider { accent-color: var(--vc-accent); }
html.vercel-theme .cp-draft-tone-regenerate { border-color: var(--vc-accent); background: var(--vc-accent); color: var(--vc-accent-fg); }
html.vercel-theme .cp-draft-tone-hint { color: var(--vc-dim); }
html.vercel-theme .cp-rules-rail { background: var(--vc-card); border-color: var(--vc-border); }
html.vercel-theme .cp-rules-empty { color: var(--vc-dim); }
html.vercel-theme .cp-rule-chip { background: var(--vc-surface); border-color: var(--vc-border); color: var(--vc-fg); }
html.vercel-theme .cp-rule-chip-remove { color: var(--vc-dim); }
html.vercel-theme .cp-rule-chip-remove:hover { color: var(--vc-red); }
html.vercel-theme .cp-rule-quickpick { background: var(--vc-surface); border-color: var(--vc-border); color: var(--vc-fg); }
html.vercel-theme .cp-rule-quickpick:hover { background: var(--vc-accent-soft); }
html.vercel-theme .cp-draft-card { background: var(--vc-card); border-color: var(--vc-border); }
html.vercel-theme .cp-draft-card:hover { border-color: var(--vc-border-strong); }
html.vercel-theme .cp-draft-card-step { color: var(--vc-dim); }
html.vercel-theme .cp-draft-card-channel { background: var(--vc-surface); color: var(--vc-fg); }
html.vercel-theme .cp-draft-card-subject { color: var(--vc-fg); }
html.vercel-theme .cp-draft-card-body { color: var(--vc-muted); }
html.vercel-theme .cp-draft-mode-chip { color: var(--vc-muted); background: var(--vc-surface); border-color: var(--vc-border); }
/* JS-inlined draft-card internals (override app inline styles) */
html.vercel-theme .cp-draft-to { color: var(--vc-dim) !important; }
html.vercel-theme .cp-draft-subject { color: var(--vc-fg) !important; }
html.vercel-theme .cp-draft-body { color: var(--vc-fg) !important; }
html.vercel-theme .cp-show-conv-btn { color: var(--vc-muted) !important; }
html.vercel-theme .cp-conv-snippet { background: var(--vc-surface) !important; border-color: var(--vc-border) !important; color: var(--vc-muted) !important; }
html.vercel-theme .cp-conv-snippet div[style*="#065f46"] { color: var(--vc-green-text) !important; border-top-color: var(--vc-border) !important; }
html.vercel-theme .cp-conv-snippet div[style*="#92400e"] { color: var(--vc-amber) !important; border-top-color: var(--vc-border) !important; }
html.vercel-theme .cp-conv-snippet div[style*="#6b7280"] { color: var(--vc-dim) !important; }
html.vercel-theme .cp-draft-edit-btn,
html.vercel-theme .cp-draft-regen-btn { background: var(--vc-surface) !important; color: var(--vc-fg) !important; border-color: var(--vc-border) !important; }
html.vercel-theme .cp-empty-state,
html.vercel-theme .cp-empty-state div { color: var(--vc-muted) !important; }
html.vercel-theme .cp-empty-state a { color: var(--vc-fg) !important; border-color: var(--vc-border-strong) !important; }
html.vercel-theme .cp-loading div[style*="#111"] { color: var(--vc-fg) !important; }
html.vercel-theme .cp-loading div[style*="#888"] { color: var(--vc-muted) !important; }
html.vercel-theme .cp-icp-headline div[style*="#6b7280"] { color: var(--vc-dim) !important; }
/* Follow-up advanced settings (inline-styled block) */
html.vercel-theme #cpFollowupAdvancedToggle { color: var(--vc-muted) !important; }
html.vercel-theme #cpFollowupAdvancedContent { background: var(--vc-card) !important; border-color: var(--vc-border) !important; }
html.vercel-theme #cpFollowupAdvancedContent div[style*="#374151"] { color: var(--vc-muted) !important; }
html.vercel-theme #cpFollowupAdvancedContent div[style*="#6b7280"],
html.vercel-theme #cpFollowupDepthNote { color: var(--vc-dim) !important; }
html.vercel-theme .cp-depth-btn { background: var(--vc-surface) !important; color: var(--vc-fg) !important; border-color: var(--vc-border) !important; }
html.vercel-theme .cp-depth-btn.active { background: var(--vc-accent) !important; color: var(--vc-accent-fg) !important; border-color: var(--vc-accent) !important; }
html.vercel-theme #cpFollowupDepthOtherInput { background: var(--vc-bg) !important; color: var(--vc-fg) !important; border-color: var(--vc-border) !important; }

/* ── Signature form modal (drafts step) ── */
html.vercel-theme .cp-signature-form { background: var(--vc-card); border-color: var(--vc-border); box-shadow: 0 22px 70px rgba(0,0,0,0.18); }
html.vercel-theme .cp-signature-form-kicker { color: var(--vc-dim); }
html.vercel-theme .cp-signature-form h3 { color: var(--vc-fg); }
html.vercel-theme .cp-signature-form-close { background: var(--vc-surface); border-color: var(--vc-border); color: var(--vc-muted); }
html.vercel-theme .cp-signature-form-close:hover { color: var(--vc-fg); border-color: var(--vc-border-strong); background: var(--vc-accent-soft); }
html.vercel-theme .cp-signature-form-label { color: var(--vc-muted); }
html.vercel-theme .cp-signature-form-text { background: var(--vc-bg); border-color: var(--vc-border); color: var(--vc-fg); }
html.vercel-theme .cp-signature-form-text:focus { border-color: var(--vc-border-strong); box-shadow: 0 0 0 3px rgba(0,0,0,0.05); }
html.vercel-theme .cp-signature-form-meta { color: var(--vc-dim); }
html.vercel-theme .cp-signature-form-preview { border-color: var(--vc-border); background: var(--vc-surface); color: var(--vc-muted); }
html.vercel-theme .cp-signature-form-secondary { border-color: var(--vc-border); background: var(--vc-surface); color: var(--vc-fg); }
html.vercel-theme .cp-signature-form-primary { border-color: var(--vc-accent); background: var(--vc-accent); color: var(--vc-accent-fg); }

/* ── Step-5: schedule bar, day toggles, launch ── */
html.vercel-theme .cp-schedule-bar { background: var(--vc-card); border-bottom-color: var(--vc-border); }
html.vercel-theme #cpScheduleBar { border-color: var(--vc-border) !important; }
html.vercel-theme .cp-sched-label { color: var(--vc-dim); font-family: var(--vc-mono); }
html.vercel-theme .cp-day-btn { background: var(--vc-surface); border-color: var(--vc-border); color: var(--vc-muted); }
html.vercel-theme .cp-day-btn:hover { border-color: var(--vc-border-strong); }
html.vercel-theme .cp-day-btn.active { background: var(--vc-accent); color: var(--vc-accent-fg); border-color: var(--vc-accent); }
html.vercel-theme .cp-sched-divider { background: var(--vc-border); }
html.vercel-theme .cp-sched-input { background: var(--vc-bg); border-color: var(--vc-border); color: var(--vc-fg); }
html.vercel-theme .cp-sched-input:focus { border-color: var(--vc-border-strong); }
html.vercel-theme .cp-sched-unit { color: var(--vc-dim); }
html.vercel-theme .cp-sched-rec { color: var(--vc-green-text); }
html.vercel-theme .cp-time-pill { background: var(--vc-surface); border-color: var(--vc-border); color: var(--vc-fg); }
html.vercel-theme .cp-time-pill-x { color: var(--vc-dim); }
html.vercel-theme .cp-time-pill-x:hover { color: var(--vc-red); }
html.vercel-theme .cp-time-add-btn { border-color: var(--vc-border-strong); color: var(--vc-dim); }
html.vercel-theme .cp-time-add-btn:hover { border-color: var(--vc-border-strong); color: var(--vc-fg); }
html.vercel-theme .cp-time-add-row select { background: var(--vc-bg); border-color: var(--vc-border); color: var(--vc-fg); }
html.vercel-theme .cp-time-add-confirm { background: var(--vc-accent); color: var(--vc-accent-fg); }
html.vercel-theme .cp-time-add-cancel { background: var(--vc-surface); border-color: var(--vc-border); color: var(--vc-muted); }
html.vercel-theme #cpScheduleContractHint { color: var(--vc-dim) !important; }
html.vercel-theme #cpScheduleContractHint strong { color: var(--vc-muted); }
html.vercel-theme .cp-day-chip { background: var(--vc-surface); color: var(--vc-dim); border-color: var(--vc-border); font-family: var(--vc-mono); }
html.vercel-theme .cp-day-chip:hover:not([data-locked="true"]) { border-color: var(--vc-border-strong); color: var(--vc-fg); }
html.vercel-theme .cp-day-chip.on { background: var(--vc-accent); color: var(--vc-accent-fg); border-color: var(--vc-accent); }
html.vercel-theme .cp-sched-edit-bar .cp-day-btn { background: var(--vc-surface); border-color: var(--vc-border); color: var(--vc-muted); }
html.vercel-theme .cp-sched-edit-bar .cp-day-btn.active { background: var(--vc-accent); color: var(--vc-accent-fg); border-color: var(--vc-accent); }
html.vercel-theme .cp-sched-save-btn { background: var(--vc-accent); color: var(--vc-accent-fg); }
/* Twitter/Reddit exact-schedule sub-panel (inline-styled) */
html.vercel-theme #cpTwSchedule { border-color: var(--vc-border) !important; }
html.vercel-theme .cp-tw-schedule div[style*="#111"] { color: var(--vc-fg) !important; }
html.vercel-theme #cpTwPostsMinus, html.vercel-theme #cpTwPostsPlus { background: var(--vc-surface) !important; border-color: var(--vc-border) !important; color: var(--vc-fg) !important; }
html.vercel-theme #cpTwPostsPerDay { background: var(--vc-bg) !important; border-color: var(--vc-border) !important; color: var(--vc-fg) !important; }
html.vercel-theme #cpTwSummary { background: var(--vc-surface) !important; color: var(--vc-muted) !important; }
/* Launch stays GREEN — only the soft-disabled state is recolored */
html.vercel-theme .cp-launch-btn[aria-disabled="true"] { background: var(--vc-surface); color: var(--vc-dim); }
html.vercel-theme .cp-launch-btn[aria-disabled="true"]:hover { background: var(--vc-surface); }

/* ── Connect modal (channel step flow) ── */
html.vercel-theme .cp-connect-modal { background: var(--vc-card); box-shadow: 0 24px 64px rgba(0,0,0,0.18); }
html.vercel-theme .cp-connect-close { background: var(--vc-surface); color: var(--vc-muted); }
html.vercel-theme .cp-connect-close:hover { background: var(--vc-accent-soft); color: var(--vc-fg); }
html.vercel-theme .cp-connect-icon-wrap { background: var(--vc-surface); }
html.vercel-theme .cp-connect-title { color: var(--vc-fg); }
html.vercel-theme .cp-connect-sub { color: var(--vc-muted); }
html.vercel-theme .cp-connect-label { color: var(--vc-dim); font-family: var(--vc-mono); }
html.vercel-theme .cp-connect-input-row { border-color: var(--vc-border); background: var(--vc-bg); }
html.vercel-theme .cp-connect-input-row:focus-within { border-color: var(--vc-border-strong); }
html.vercel-theme .cp-connect-input { color: var(--vc-fg); }
html.vercel-theme .cp-connect-input-suffix { color: var(--vc-dim); }
html.vercel-theme .cp-connect-error { color: var(--vc-red); background: rgba(192,50,47,0.06); }
html.vercel-theme .cp-connect-submit { background: var(--vc-accent); color: var(--vc-accent-fg); }
html.vercel-theme .cp-connect-submit:hover:not(:disabled) { background: var(--vc-accent-hover); }
html.vercel-theme .cp-connect-helper { color: var(--vc-dim); }
html.vercel-theme .cp-connect-secondary { border-color: var(--vc-border); color: var(--vc-fg); }
html.vercel-theme .cp-connect-secondary:hover:not(:disabled) { background: var(--vc-surface); border-color: var(--vc-border-strong); }
html.vercel-theme .cp-connect-brandlock .cp-connect-icon-wrap { background: var(--vc-surface); border-color: var(--vc-border); }
html.vercel-theme .cp-connect-lockdot { border-color: var(--vc-card); }
html.vercel-theme .cp-connect-trust { background: rgba(10,125,63,0.06); border-color: rgba(10,125,63,0.3); }
html.vercel-theme .cp-connect-trust-title { color: var(--vc-green-text); }
html.vercel-theme .cp-connect-trust-text { color: var(--vc-green-text); }
html.vercel-theme .cp-connect-trust-chip { color: var(--vc-muted); background: var(--vc-surface); border-color: var(--vc-border); }
html.vercel-theme .cp-connect-secured { border-top-color: var(--vc-border); }
html.vercel-theme .cp-connect-secured-label { color: var(--vc-dim); }
html.vercel-theme .cp-connect-success-check { background: rgba(10,125,63,0.1); }
html.vercel-theme .cp-connect-success-title { color: var(--vc-fg); }
html.vercel-theme .cp-connect-success-sub { color: var(--vc-dim); }
/* ==== END SECTION: new-campaign-wizard ==== */

/* ==== SECTION: ONBOARDING (vercel) ==== */

/* ── Page frame ── */
html.vercel-theme body {
  background-color: var(--vc-bg);
  background-image: radial-gradient(#eaeaea 0.75px, transparent 0.75px);
  background-size: 18px 18px;
  color: var(--vc-fg);
  font-family: var(--vc-sans);
}
html.vercel-theme ::selection { background: #000; color: #fff; }
html.vercel-theme ::-webkit-scrollbar-thumb { background: #d8d8d8; }
html.vercel-theme ::-webkit-scrollbar-thumb:hover { background: #c2c2c2; }
html.vercel-theme ::-webkit-scrollbar-track { background: transparent; }

/* ── Logo ── */
html.vercel-theme #logo-area img {
  background: var(--vc-surface);
  box-shadow: 0 8px 24px -10px rgba(0, 0, 0, 0.1);
}
html.vercel-theme #logo-area .brand { color: var(--vc-fg); }

/* ── Boot state + boot/stalled fallback ── */
html.vercel-theme .onboarding-boot { color: var(--vc-fg); }
html.vercel-theme .onboarding-boot-spinner {
  border-color: var(--vc-border);
  border-top-color: var(--vc-accent);
}
html.vercel-theme .onboarding-boot-sub { color: var(--vc-muted); }
html.vercel-theme .onboarding-boot-actions .continue-btn.secondary {
  background: var(--vc-card);
  color: var(--vc-fg);
  border-color: var(--vc-border);
}
html.vercel-theme .onboarding-boot-actions .continue-btn.secondary:hover {
  background: var(--vc-card-hover);
  border-color: var(--vc-border-strong);
}

/* ── Step meta / dots / progress ── */
html.vercel-theme .step-label {
  color: var(--vc-dim);
  font-family: var(--vc-mono);
}
html.vercel-theme .step-dot { background: var(--vc-border-strong); }
html.vercel-theme .step-dot.active { background: var(--vc-accent); }
html.vercel-theme .step-dot.done { background: var(--vc-dim); }
html.vercel-theme .progress-track { background: var(--vc-border); }
html.vercel-theme .progress-fill { background: var(--vc-accent); }

/* ── Question step ── */
html.vercel-theme .question-text { color: var(--vc-fg); }
html.vercel-theme .cursor { background: var(--vc-accent); }
html.vercel-theme .input-wrap { border-bottom-color: var(--vc-border-strong); }
html.vercel-theme .answer-textarea { color: var(--vc-fg); }
html.vercel-theme .answer-textarea::placeholder { color: var(--vc-dim); }

/* ── Mic button ── */
html.vercel-theme .mic-btn {
  border-color: var(--vc-border);
  background: var(--vc-card);
  color: var(--vc-dim);
}
html.vercel-theme .mic-btn:hover { border-color: var(--vc-accent); color: var(--vc-fg); }
html.vercel-theme .mic-btn.recording {
  border-color: var(--vc-red);
  color: var(--vc-red);
  background: rgba(192, 50, 47, 0.08);
}
html.vercel-theme .mic-btn.mic-bob { animation-name: vercelMicBob; }
@keyframes vercelMicBob {
  0%   { transform: translateY(0)    scale(1);    color: #8f8f8f; border-color: #eaeaea; box-shadow: none; }
  18%  { transform: translateY(-6px) scale(1.15); color: #171717; border-color: #000000; box-shadow: 0 4px 12px rgba(0,0,0,0.12); }
  36%  { transform: translateY(0)    scale(1);    color: #8f8f8f; border-color: #eaeaea; box-shadow: none; }
  54%  { transform: translateY(-4px) scale(1.08); color: #666666; border-color: #d4d4d4; box-shadow: 0 3px 8px rgba(0,0,0,0.1); }
  72%  { transform: translateY(0)    scale(1);    color: #8f8f8f; border-color: #eaeaea; box-shadow: none; }
  100% { transform: translateY(0)    scale(1);    color: #8f8f8f; border-color: #eaeaea; box-shadow: none; }
}

/* ── Continue / Finish buttons ── */
html.vercel-theme .continue-btn {
  background: var(--vc-accent);
  color: var(--vc-accent-fg);
}
html.vercel-theme .continue-btn:hover { background: var(--vc-accent-hover); }

/* ── Welcome screen ── */
html.vercel-theme .welcome-greeting { color: var(--vc-fg); }
html.vercel-theme .welcome-sub { color: var(--vc-muted); }
html.vercel-theme .url-input-wrap {
  background: var(--vc-card);
  border-color: var(--vc-border);
}
html.vercel-theme .url-input-wrap:focus-within {
  border-color: var(--vc-border-strong);
  box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.08);
}
html.vercel-theme .url-input { color: var(--vc-fg); }
html.vercel-theme .url-animated-placeholder { color: var(--vc-dim); }
html.vercel-theme .url-animated-placeholder .anim-cursor { background: var(--vc-dim); }
html.vercel-theme .url-go-btn {
  background: var(--vc-accent);
  color: var(--vc-accent-fg);
}
html.vercel-theme .url-go-btn:hover { background: var(--vc-accent-hover); }
html.vercel-theme .manual-link { color: var(--vc-dim); }
html.vercel-theme .manual-link:hover { color: var(--vc-fg); }

/* ── Scrape loading ── */
html.vercel-theme .loading-spinner {
  border-color: var(--vc-border);
  border-top-color: var(--vc-accent);
}
html.vercel-theme .loading-text { color: var(--vc-fg); }
html.vercel-theme .loading-sub { color: var(--vc-muted); }
html.vercel-theme .loading-progress { color: var(--vc-dim); }

/* ── Scrape error (semantic danger) ── */
html.vercel-theme .scrape-error {
  background: rgba(192, 50, 47, 0.06);
  border-color: rgba(192, 50, 47, 0.3);
}
html.vercel-theme .scrape-error-text { color: var(--vc-red); }
html.vercel-theme .scrape-error-manual {
  color: var(--vc-fg);
  border-color: var(--vc-border);
  background: var(--vc-card);
}
html.vercel-theme .scrape-error-manual:hover {
  border-color: var(--vc-border-strong);
  background: var(--vc-card-hover);
}

/* ── Save-error toast (JS-injected inline color) ── */
html.vercel-theme #ob-error { color: var(--vc-red) !important; }

/* ── Completion ── */
html.vercel-theme .check-circle { background: var(--vc-accent); }
html.vercel-theme #completion h2 { color: var(--vc-fg); }
html.vercel-theme #completion p { color: var(--vc-muted); }

/* ── Testimonial rails ── */
html.vercel-theme .prime-rail .testimonial-card {
  background: var(--vc-card);
  border: 1px solid var(--vc-border);
  border-radius: 18px;
}
html.vercel-theme .prime-rail .testimonial-card .tq { color: var(--vc-muted); }
html.vercel-theme .prime-rail .testimonial-card .tw { border-top-color: var(--vc-border); }
html.vercel-theme .prime-rail .testimonial-card .ta { background: var(--vc-accent); color: var(--vc-accent-fg); }
html.vercel-theme .prime-rail .testimonial-card .tn { color: var(--vc-fg); }
html.vercel-theme .prime-rail .testimonial-card .tr { color: var(--vc-dim); }
/* ==== END SECTION: ONBOARDING ==== */

/* ==== SECTION: personality demo (vercel) — a clean chat with Geo ==== */
/* On step 4 the demo IS the view. Hide the app's own draft UI (layout only). */
html.vercel-theme #cpStep4.prime-demo-on #cpDrafts,
html.vercel-theme #cpStep4.prime-demo-on #cp2DraftsChat,
html.vercel-theme #cpStep4.prime-demo-on #cpDraftsLoading,
html.vercel-theme #cpStep4.prime-demo-on #cpDraftToneControl,
html.vercel-theme #cpStep4.prime-demo-on #cpRulesRail,
html.vercel-theme #cpStep4.prime-demo-on #cpRuleQuickPicks,
/* 2026-08-13: the personality step now uses the control panel + prompt, so the
   old bottom draft chat box is removed here. */
html.vercel-theme #cpStep4.prime-demo-on .cp-inline-chat,
html.vercel-theme #cpStep4.prime-demo-on #cpDraftChatHistory,
html.vercel-theme #cpStep4.prime-demo-on #cpDraftChatInput { display: none !important; }

html.vercel-theme .prime-demo-panel { flex: 1 1 auto; min-height: 0; overflow-y: auto; width: 100%; margin: 0; padding: 24px 0; display: flex; flex-direction: column; justify-content: safe center; }
html.vercel-theme .prime-demo-thread { max-width: 720px; margin: 0 auto; }
html.vercel-theme .prime-demo-thread { display: flex; flex-direction: column; gap: 12px; }
html.vercel-theme .prime-demo-row { display: flex; gap: 11px; align-items: flex-start; }
html.vercel-theme .prime-demo-ava { width: 32px; height: 32px; border-radius: 9px; background: var(--vc-surface); display: grid; place-items: center; flex-shrink: 0; overflow: hidden; }
html.vercel-theme .prime-demo-ava img { width: 26px; height: 26px; object-fit: contain; }
html.vercel-theme .prime-demo-bubble { background: var(--vc-surface); border: 1px solid var(--vc-border-soft); border-radius: 4px 14px 14px 14px; padding: 12px 15px; font-size: 13.5px; color: var(--vc-fg); line-height: 1.6; max-width: 560px; }
html.vercel-theme .prime-demo-bubble strong { color: var(--vc-fg-strong); }
html.vercel-theme .prime-demo-retry { text-decoration: underline; background: none; border: none; color: var(--vc-fg); cursor: pointer; font: inherit; padding: 0; }

/* Typing indicator (three bouncing dots). */
html.vercel-theme .prime-demo-dots { display: inline-flex; gap: 4px; align-items: center; height: 12px; }
html.vercel-theme .prime-demo-dots i { width: 6px; height: 6px; border-radius: 50%; background: var(--vc-dim); display: inline-block; animation: vercelDemoDot 1.2s ease-in-out infinite; }
html.vercel-theme .prime-demo-dots i:nth-child(2) { animation-delay: 0.2s; }
html.vercel-theme .prime-demo-dots i:nth-child(3) { animation-delay: 0.4s; }
@keyframes vercelDemoDot { 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.vercel-theme .prime-demo-msg { background: var(--vc-card); }
html.vercel-theme .prime-demo-msg-head { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
html.vercel-theme .prime-demo-jd { width: 34px; height: 34px; border-radius: 50%; background: var(--vc-surface); color: var(--vc-fg); font-weight: 700; font-size: 12px; display: grid; place-items: center; flex-shrink: 0; }
html.vercel-theme .prime-demo-jd-reddit { background: #FF4500; color: #fff; }
html.vercel-theme .prime-demo-name { font-size: 14px; font-weight: 700; color: var(--vc-fg); }
html.vercel-theme .prime-demo-role { font-size: 12px; color: var(--vc-muted); margin-top: 1px; }
html.vercel-theme .prime-demo-tag { margin-left: auto; font-family: var(--vc-mono); font-size: 9px; letter-spacing: 0.12em; color: var(--vc-dim); border: 1px solid var(--vc-border); border-radius: 5px; padding: 2px 7px; }
html.vercel-theme .prime-demo-subject { font-size: 14.5px; font-weight: 650; color: var(--vc-fg); margin-bottom: 8px; }
html.vercel-theme .prime-demo-body { font-size: 13.5px; color: var(--vc-fg); 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.vercel-theme .prime-demo-reply-box { background: var(--vc-surface); border-radius: 8px; padding: 10px 12px; }

/* Subtle emphasis on the input so it reads as where you reply. */
html.vercel-theme #cpStep4.prime-demo-on #cpDraftChatInput { border-color: var(--vc-border-strong) !important; }

/* ==== SECTION: launch step — warm-up opt-in + connect CTA (vercel) ==== */
/* Recolor the inline-styled launch cards to the light theme; !important overrides inline styles. */
html.vercel-theme #cpWarmupOptIn { background: var(--vc-card) !important; border-color: var(--vc-border) !important; }
html.vercel-theme #cpWarmupOptIn span { color: var(--vc-fg) !important; }
html.vercel-theme #cpWarmupOptInCheckbox { accent-color: var(--vc-accent) !important; }
html.vercel-theme #cpWarmupOptInStatus { color: var(--vc-muted) !important; }
html.vercel-theme #cpLaunchConnectCta { background: var(--vc-card) !important; border-color: var(--vc-border) !important; }
html.vercel-theme #cpLaunchConnectCta span,
html.vercel-theme #cpLaunchConnectCta #cpLaunchConnectCtaText { color: var(--vc-fg) !important; }

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

/* ── Consistent ~8px button radius (edges read designed, not vibe-coded) ── */
html.vercel-theme .cp-launch-btn,
html.vercel-theme .cp-add-website-btn,
html.vercel-theme .cp-outreach-btn,
html.vercel-theme .cp-nav-btn,
html.vercel-theme .cp-nav-next,
html.vercel-theme .cp-nav-back,
html.vercel-theme .prime-demo-edit,
html.vercel-theme .prime-demo-retry,
html.vercel-theme .prime-ftue-next,
html.vercel-theme .cp-draft-tone-regenerate,
html.vercel-theme button.cp-primary,
html.vercel-theme .cp-checkout-btn { border-radius: 8px !important; }

/* ############## v2:1b7ba34cc0afbab9c7789c8ad233949256d638d3db0fbd202a11b25ee2ce5ee2 ############## */
/* ==== SECTION: CONTACTS (vercel) ==== */
/* Contacts loads expo-theme.css (light overlay that "wins the cascade").
   Force the expo bg var + content wrapper to the Vercel canvas. */
html.vercel-theme { --expo-bg: var(--vc-bg) !important; }
html.vercel-theme .main-content { background: var(--vc-bg) !important; }
html.vercel-theme .crm-panel { background: transparent !important; }


/* ── Page base ── */
html.vercel-theme body { background: var(--vc-bg); color: var(--vc-fg); color-scheme: light; }
html.vercel-theme .crm-header h1 { color: var(--vc-fg-strong); }
html.vercel-theme .crm-stats { color: var(--vc-muted); }
html.vercel-theme .crm-stats strong { color: var(--vc-fg); font-family: var(--vc-mono); }
html.vercel-theme .stat-sep { color: var(--vc-border-strong); }
html.vercel-theme .stat-enrich { color: var(--vc-muted); }
html.vercel-theme .stat-enrich strong { color: var(--vc-fg); font-family: var(--vc-mono); }
html.vercel-theme .stat-enrich:hover { color: var(--vc-fg); }
html.vercel-theme .mobile-hamburger { color: var(--vc-fg); }
html.vercel-theme .loading, html.vercel-theme .crm-empty { color: var(--vc-dim); }
html.vercel-theme .crm-empty svg { stroke: var(--vc-border-strong); }
html.vercel-theme .crm-empty h3 { color: var(--vc-fg); }
html.vercel-theme .empty-find-leads-btn,
html.vercel-theme .chat-leadfind-cta { background: var(--vc-accent); color: var(--vc-accent-fg); }
html.vercel-theme .empty-find-leads-btn:hover,
html.vercel-theme .chat-leadfind-cta:hover { background: var(--vc-accent-hover); }

/* ── Toolbar: search / selects / header buttons ── */
html.vercel-theme .crm-search { background: var(--vc-card); border-color: var(--vc-border); color: var(--vc-fg); }
html.vercel-theme .crm-search::placeholder { color: var(--vc-dim); }
html.vercel-theme .crm-search:focus { border-color: var(--vc-border-strong); box-shadow: 0 0 0 3px rgba(0,0,0,.06); }
html.vercel-theme .crm-filter { background: var(--vc-card); border-color: var(--vc-border); color: var(--vc-fg); }
html.vercel-theme .add-contact-btn { background: var(--vc-accent); color: var(--vc-accent-fg); }
html.vercel-theme .add-contact-btn:hover { background: var(--vc-accent-hover); }
html.vercel-theme .csv-find-btn { background: var(--vc-surface); color: var(--vc-fg); }
html.vercel-theme .csv-find-btn:hover { background: var(--vc-accent-soft); }
html.vercel-theme .hs-browse-btn[disabled] { background: var(--vc-surface); color: var(--vc-dim); }

/* ── Quick-filter chips (light, black active) ── */
html.vercel-theme .qchip { background: transparent; border-color: var(--vc-border); color: var(--vc-fg); }
html.vercel-theme .qchip:hover { border-color: var(--vc-border-strong); background: var(--vc-surface); }
html.vercel-theme .qchip.active { background: var(--vc-accent); border-color: var(--vc-accent); color: var(--vc-accent-fg); }
html.vercel-theme .qchip.active .qdot { box-shadow: 0 0 0 2px rgba(255,255,255,.25); }
/* qdot colors are inline style="" from markup — must out-rank with !important */
html.vercel-theme .qchip[data-status="none"] .qdot { background: var(--vc-dim) !important; }
html.vercel-theme .qchip[data-status="sent"] .qdot { background: var(--vc-muted) !important; }
html.vercel-theme .qchip[data-status="replied"] .qdot { background: var(--vc-green) !important; }
html.vercel-theme .qchip[data-status="followed_up"] .qdot { background: var(--vc-muted) !important; }
html.vercel-theme .qchip.active .qdot { background: var(--vc-accent-fg) !important; }

/* ── Table surface card + sticky header ── */
html.vercel-theme .crm-card { background: var(--vc-card); box-shadow: 0 0 0 1px var(--vc-border); }
html.vercel-theme .crm-table-wrap { background: var(--vc-card); box-shadow: none; }
html.vercel-theme .crm-table thead th { background: var(--vc-card); color: var(--vc-dim); border-bottom-color: var(--vc-border); font-family: var(--vc-mono); }
html.vercel-theme .crm-table thead th[data-sort]:hover { color: var(--vc-muted); }
html.vercel-theme .crm-table tbody td { background: var(--vc-card); border-bottom-color: var(--vc-border); color: var(--vc-fg); }
html.vercel-theme .crm-table tbody tr.contact-summary-row:hover td { background: var(--vc-card-hover); }
html.vercel-theme .crm-table tbody tr.row-selected td { background: var(--vc-accent-soft); }
html.vercel-theme .crm-table tbody tr.row-selected:hover td { background: var(--vc-border); }
html.vercel-theme .c-check-th input, html.vercel-theme .c-row-check { accent-color: var(--vc-accent); }

/* identity cell */
html.vercel-theme .c-avatar { background: var(--vc-surface) !important; color: var(--vc-muted); box-shadow: 0 1px 2px rgba(0,0,0,.08); }
html.vercel-theme .c-name { color: var(--vc-fg); }
html.vercel-theme .c-details { color: var(--vc-dim); }
html.vercel-theme .c-engage { color: var(--vc-muted); }
html.vercel-theme .c-engage.repd { color: var(--vc-green-text); }
html.vercel-theme .c-sub { color: var(--vc-muted); }
html.vercel-theme .c-sub.empty { color: var(--vc-dim); }

/* reach chips — on = surface chip, off = dashed light border */
html.vercel-theme .reach-chip.on { background: var(--vc-surface); color: var(--vc-fg); border-color: var(--vc-border); }
html.vercel-theme .reach-chip.off { background: transparent; color: var(--vc-dim); border-color: var(--vc-border-strong); }
html.vercel-theme a.reach-chip.on:hover { filter: brightness(0.96); }

/* status pills — light variants (replied green, sent neutral) */
html.vercel-theme .st-none { background: var(--vc-surface); color: var(--vc-muted); border-color: var(--vc-border); }
html.vercel-theme .st-none .st-dot { background: var(--vc-dim); }
html.vercel-theme .st-sent { background: var(--vc-surface); color: var(--vc-fg); border-color: var(--vc-border-strong); }
html.vercel-theme .st-sent .st-dot { background: var(--vc-muted); }
html.vercel-theme .st-followed_up { background: var(--vc-surface); color: var(--vc-fg); border-color: var(--vc-border); }
html.vercel-theme .st-followed_up .st-dot { background: var(--vc-muted); }
html.vercel-theme .st-replied { background: rgba(10,125,63,.10); color: var(--vc-green-text); border-color: rgba(10,125,63,.24); }
html.vercel-theme .st-replied .st-dot { background: var(--vc-green); }
html.vercel-theme .st-sub { color: var(--vc-dim); }

/* channel tag / source / fit meter */
html.vercel-theme .ch-tag { background: var(--vc-surface); color: var(--vc-muted); border-color: var(--vc-border); }
html.vercel-theme .ch-empty, html.vercel-theme .fit-none,
html.vercel-theme .src-none, html.vercel-theme .c-source-empty { color: var(--vc-dim); }
html.vercel-theme .src-pill { background: var(--vc-surface); border-color: var(--vc-border); color: var(--vc-muted); }
html.vercel-theme .fit-track { background: var(--vc-surface); }
html.vercel-theme .fit-fill { background: var(--vc-muted) !important; } /* inline background:#3a3f47 from JS */
html.vercel-theme .fit-val { color: var(--vc-fg); font-family: var(--vc-mono); }

/* legacy badges (metadata threads etc.) */
html.vercel-theme .badge-sent { background: var(--vc-surface); color: var(--vc-fg); }
html.vercel-theme .badge-replied { background: rgba(10,125,63,.10); color: var(--vc-green-text); }
html.vercel-theme .badge-followed_up { background: rgba(168,107,0,.10); color: var(--vc-amber); }
html.vercel-theme .badge-none { background: var(--vc-surface); color: var(--vc-dim); border-color: var(--vc-border); }

/* row actions */
html.vercel-theme .row-actions button { color: var(--vc-dim); }
html.vercel-theme .row-actions button:hover { background: var(--vc-surface); color: var(--vc-fg); }

/* contact email / link cells */
html.vercel-theme .contact-email-cell a, html.vercel-theme .contact-link-btn { color: var(--vc-fg); }
html.vercel-theme .contact-copy-mini { background: var(--vc-surface); border-color: var(--vc-border); color: var(--vc-fg); }
html.vercel-theme .contact-copy-mini:hover { background: var(--vc-accent-soft); }

/* ── Bulk bar (harmonize) ── */
html.vercel-theme .bulk-bar { background: var(--vc-card); box-shadow: 0 0 0 1px var(--vc-border), 0 14px 34px rgba(0,0,0,.12); }
html.vercel-theme .bulk-bar .bulk-count strong { font-family: var(--vc-mono); }
html.vercel-theme .bulk-btn.primary { background: var(--vc-accent); color: var(--vc-accent-fg); border-color: var(--vc-accent); }
html.vercel-theme .bulk-btn.primary:hover { background: var(--vc-accent-hover); border-color: var(--vc-accent-hover); }
html.vercel-theme .bulk-btn.ghost { color: var(--vc-muted); }

/* ── Pagination ── */
html.vercel-theme .crm-pagination button { background: transparent; border-color: var(--vc-border); color: var(--vc-muted); }
html.vercel-theme .crm-pagination button:hover:not(:disabled):not(.active) { background: var(--vc-surface); color: var(--vc-fg); }
html.vercel-theme .crm-pagination button.active { background: var(--vc-accent); color: var(--vc-accent-fg); border-color: var(--vc-accent); }

/* ── Detail rows (expanded contact) ── */
html.vercel-theme .contact-detail-row td { background: var(--vc-surface); }
html.vercel-theme .contact-detail-panel { background: var(--vc-card); border-color: var(--vc-border); box-shadow: 0 8px 22px rgba(0,0,0,.10); }
html.vercel-theme .contact-detail-title strong { color: var(--vc-fg-strong); }
html.vercel-theme .contact-detail-title span { color: var(--vc-muted); }
html.vercel-theme .contact-action-btn { background: var(--vc-surface); border-color: var(--vc-border); color: var(--vc-fg); }
html.vercel-theme .contact-action-btn:hover { background: var(--vc-accent-soft); }
html.vercel-theme .contact-detail-section { border-top-color: var(--vc-border); }
html.vercel-theme .contact-detail-section h4 { color: var(--vc-dim); }
html.vercel-theme .contact-detail-kv dt { color: var(--vc-dim); }
html.vercel-theme .contact-detail-kv dd { color: var(--vc-fg); }
html.vercel-theme .contact-detail-muted { color: var(--vc-muted); }
html.vercel-theme .contact-detail-icp { background: var(--vc-surface); border-color: var(--vc-border); color: var(--vc-muted); }
html.vercel-theme .contact-chip { background: var(--vc-surface); color: var(--vc-fg); }
html.vercel-theme .contact-origin-pill { background: var(--vc-surface); color: var(--vc-muted); }
html.vercel-theme .contact-fit-pill { background: rgba(10,125,63,.10); color: var(--vc-green-text); }
html.vercel-theme .contact-fit-pill.strong { background: var(--vc-surface); color: var(--vc-fg); }
html.vercel-theme .contact-fit-pill.good { background: var(--vc-surface); color: var(--vc-muted); }

/* ── Ask-Geo chat panel ── */
html.vercel-theme .chat-panel { background: var(--vc-card); border-left-color: var(--vc-border); }
html.vercel-theme .chat-header { border-bottom-color: var(--vc-border); color: var(--vc-fg-strong); }
html.vercel-theme .chat-header svg { stroke: var(--vc-fg-strong); }
html.vercel-theme .chat-header img { background: var(--vc-surface); }
html.vercel-theme .chat-header .mobile-close { color: var(--vc-muted); }
html.vercel-theme .chat-msg.user { background: var(--vc-accent); color: var(--vc-accent-fg); }
html.vercel-theme .chat-msg.assistant { background: var(--vc-surface); color: var(--vc-fg); }
html.vercel-theme .chat-typing { background: var(--vc-surface); color: var(--vc-dim); }
html.vercel-theme .chat-input-area { border-top-color: var(--vc-border); }
html.vercel-theme .chat-input { background: var(--vc-card); border-color: var(--vc-border); color: var(--vc-fg); }
html.vercel-theme .chat-input::placeholder { color: var(--vc-dim); }
html.vercel-theme .chat-input:focus { border-color: var(--vc-border-strong); }
html.vercel-theme .chat-send { background: var(--vc-accent); color: var(--vc-accent-fg); }
html.vercel-theme .chat-send:hover { background: var(--vc-accent-hover); }
html.vercel-theme .chat-collapse-btn { color: var(--vc-dim); }
html.vercel-theme .chat-collapse-btn:hover { background: var(--vc-surface); color: var(--vc-fg); }
html.vercel-theme .chat-expand-rail { color: var(--vc-dim); }
html.vercel-theme .chat-expand-rail:hover { background: var(--vc-surface); color: var(--vc-fg); }
html.vercel-theme .chat-expand-rail:hover .chat-rail-label { color: var(--vc-fg); }
html.vercel-theme .chat-expand-rail img { background: var(--vc-surface); }
html.vercel-theme .chat-rail-label { color: var(--vc-dim); font-family: var(--vc-mono); }
html.vercel-theme .mobile-chat-btn { background: var(--vc-accent); color: var(--vc-accent-fg); box-shadow: 0 4px 12px rgba(0,0,0,.16); }

/* ── Add/Edit modal ── */
html.vercel-theme .modal-overlay { background: rgba(0,0,0,0.4); }
html.vercel-theme .modal { background: var(--vc-card); color: var(--vc-fg); box-shadow: 0 0 0 1px var(--vc-border), 0 24px 60px rgba(0,0,0,.18); }
html.vercel-theme .modal-field label { color: var(--vc-muted); }
html.vercel-theme .modal-field input, html.vercel-theme .modal-field textarea { background: var(--vc-card); border-color: var(--vc-border); color: var(--vc-fg); }
html.vercel-theme .modal-field input:focus, html.vercel-theme .modal-field textarea:focus { border-color: var(--vc-border-strong); }
html.vercel-theme .btn-cancel { background: var(--vc-surface); border-color: var(--vc-border); color: var(--vc-fg); }
html.vercel-theme .btn-save { background: var(--vc-accent); border-color: var(--vc-accent); color: var(--vc-accent-fg); }
html.vercel-theme .btn-save:hover { background: var(--vc-accent-hover); border-color: var(--vc-accent-hover); }
html.vercel-theme .btn-delete { background: rgba(192,50,47,.10); color: var(--vc-red); border-color: rgba(192,50,47,.35); }
html.vercel-theme .btn-delete:hover { background: rgba(192,50,47,.16); }

/* ── HubSpot live-browse panel ── */
html.vercel-theme #hubspotBrowsePanel h2 { color: var(--vc-fg-strong) !important; } /* inline color:#111 */
html.vercel-theme #hubspotBrowsePanel .hs-browse-toolbar label { color: var(--vc-muted) !important; } /* inline color:#4b5563 */
html.vercel-theme .hs-browse-toolbar select { background: var(--vc-card); border-color: var(--vc-border); color: var(--vc-fg); }
html.vercel-theme .hs-browse-status { color: var(--vc-muted); }
html.vercel-theme .hs-browse-back { border-color: var(--vc-border); color: var(--vc-fg); }
html.vercel-theme .hs-browse-table-wrap { background: var(--vc-card); border-color: var(--vc-border); }
html.vercel-theme .hs-browse-table th { background: var(--vc-surface); color: var(--vc-dim); border-bottom-color: var(--vc-border); font-family: var(--vc-mono); }
html.vercel-theme .hs-browse-table td { color: var(--vc-fg); border-bottom-color: var(--vc-border); }
html.vercel-theme .hs-browse-table tr:hover td { background: var(--vc-card-hover); }
html.vercel-theme .hs-browse-table input[type="checkbox"] { accent-color: var(--vc-accent); }
html.vercel-theme .hs-browse-footer { background: linear-gradient(to bottom, transparent, var(--vc-bg) 30%); }
html.vercel-theme .hs-browse-footer .hs-count { color: var(--vc-muted); }
html.vercel-theme .hs-browse-footer .hs-load-more { background: var(--vc-surface); border-color: var(--vc-border); color: var(--vc-fg); }
html.vercel-theme .hs-browse-footer .hs-load-more[disabled] { color: var(--vc-dim); }
html.vercel-theme .hs-browse-footer .hs-start-campaign { background: var(--vc-accent); color: var(--vc-accent-fg); }
html.vercel-theme .hs-browse-footer .hs-start-campaign:hover { background: var(--vc-accent-hover); }
html.vercel-theme .hs-browse-footer .hs-start-campaign[disabled] { background: var(--vc-surface); color: var(--vc-dim); }
html.vercel-theme .hs-browse-empty { color: var(--vc-muted); }
html.vercel-theme .hs-browse-error { background: rgba(192,50,47,.08); border-color: rgba(192,50,47,.30); color: var(--vc-red); }

/* ── CSV find panel ── */
html.vercel-theme #csvFindPanel h2 { color: var(--vc-fg-strong) !important; } /* inline color:#111 */
html.vercel-theme .csv-find-intro { color: var(--vc-muted); }
html.vercel-theme .csv-find-intro strong { color: var(--vc-fg); }
html.vercel-theme .csv-find-toolbar select { background: var(--vc-card); border-color: var(--vc-border); color: var(--vc-fg); }
html.vercel-theme .csv-find-toolbar label { color: var(--vc-muted); }
html.vercel-theme .csv-file-pick { background: var(--vc-surface); border-color: var(--vc-border); color: var(--vc-fg); }
html.vercel-theme .csv-file-pick:hover { background: var(--vc-accent-soft); border-color: var(--vc-border-strong); }
html.vercel-theme .csv-file-input:focus-visible + .csv-file-pick { outline-color: var(--vc-fg-strong); }
html.vercel-theme .csv-file-name { color: var(--vc-dim); }
html.vercel-theme .csv-file-name.has-file { color: var(--vc-fg); }
html.vercel-theme .csv-find-status { color: var(--vc-muted); }
html.vercel-theme .csv-find-go { background: var(--vc-accent); color: var(--vc-accent-fg); }
html.vercel-theme .csv-find-go:hover:not([disabled]) { background: var(--vc-accent-hover); }
html.vercel-theme .csv-find-go[disabled] { background: var(--vc-surface); color: var(--vc-dim); }
html.vercel-theme .csv-progress-wrap { background: var(--vc-surface); }
html.vercel-theme .csv-progress-bar { background: var(--vc-muted); }
html.vercel-theme .csv-summary span { color: var(--vc-muted); }
html.vercel-theme .csv-find-table-wrap { background: var(--vc-card); border-color: var(--vc-border); }
html.vercel-theme .csv-find-table th { background: var(--vc-surface); color: var(--vc-dim); border-bottom-color: var(--vc-border); font-family: var(--vc-mono); }
html.vercel-theme .csv-find-table td { color: var(--vc-fg); border-bottom-color: var(--vc-border); }
html.vercel-theme .conf-high { background: rgba(10,125,63,.10); color: var(--vc-green-text); }
html.vercel-theme .conf-medium { background: rgba(168,107,0,.10); color: var(--vc-amber); }
html.vercel-theme .conf-low { background: var(--vc-surface); color: var(--vc-muted); }
html.vercel-theme .conf-warn { color: var(--vc-amber); }
html.vercel-theme .csv-unmatched h3 { color: var(--vc-fg); }
html.vercel-theme .csv-unmatched-list { color: var(--vc-dim); }
html.vercel-theme .csv-find-footer .csv-count { color: var(--vc-muted); }
html.vercel-theme .csv-find-footer .csv-start { background: var(--vc-accent); color: var(--vc-accent-fg); }
html.vercel-theme .csv-find-footer .csv-start:hover:not([disabled]) { background: var(--vc-accent-hover); }
html.vercel-theme .csv-find-footer .csv-start[disabled] { background: var(--vc-surface); color: var(--vc-dim); }
html.vercel-theme .csv-find-footer .csv-done { background: var(--vc-surface); border-color: var(--vc-border); color: var(--vc-fg); }

/* ── Metadata view (#metadata hash) ── */
html.vercel-theme .md-header h1 { color: var(--vc-fg-strong); }
html.vercel-theme .md-header .md-sub { color: var(--vc-muted); }
html.vercel-theme .md-search { background: var(--vc-card); border-color: var(--vc-border); color: var(--vc-fg); }
html.vercel-theme .md-search:focus { border-color: var(--vc-border-strong); }
html.vercel-theme .md-card { background: var(--vc-card); border-color: var(--vc-border); }
html.vercel-theme .md-card:hover { border-color: var(--vc-border-strong); }
html.vercel-theme .md-avatar { background: var(--vc-surface); color: var(--vc-muted); }
html.vercel-theme .md-name { color: var(--vc-fg); }
html.vercel-theme .md-sub-id { color: var(--vc-dim); }
html.vercel-theme .md-source { background: var(--vc-surface); color: var(--vc-muted); }
html.vercel-theme .md-body { border-top-color: var(--vc-border); background: var(--vc-surface); }
html.vercel-theme .md-section-title { color: var(--vc-dim); }
html.vercel-theme .md-section-title .md-count { background: var(--vc-surface); color: var(--vc-muted); }
html.vercel-theme .md-kv dt { color: var(--vc-dim); }
html.vercel-theme .md-kv dd { color: var(--vc-fg); }
html.vercel-theme .md-kv dd a { color: var(--vc-fg); }
html.vercel-theme .md-thread { background: var(--vc-card); border-color: var(--vc-border); }
html.vercel-theme .md-thread-head { color: var(--vc-muted); }
html.vercel-theme .md-thread-subject { color: var(--vc-fg); }
html.vercel-theme .md-thread-body { color: var(--vc-muted); }
html.vercel-theme .md-reply-note { background: rgba(10,125,63,.10); color: var(--vc-green-text); }
html.vercel-theme .md-badge { background: var(--vc-surface); color: var(--vc-muted); }
html.vercel-theme .md-badge.replied { background: rgba(10,125,63,.10); color: var(--vc-green-text); }
html.vercel-theme .md-badge.sent { background: var(--vc-surface); color: var(--vc-fg); }
html.vercel-theme .md-badge.pending { background: rgba(168,107,0,.10); color: var(--vc-amber); }
html.vercel-theme .md-errors { background: rgba(192,50,47,.08); border-color: rgba(192,50,47,.30); color: var(--vc-red); }
html.vercel-theme .md-load-more, html.vercel-theme .md-loading, html.vercel-theme .md-empty { color: var(--vc-muted); }
html.vercel-theme .md-load-btn { background: var(--vc-accent); color: var(--vc-accent-fg); }
html.vercel-theme .md-load-btn:hover { background: var(--vc-accent-hover); }
html.vercel-theme .md-empty div[style*="color:#111"] { color: var(--vc-fg-strong) !important; }
html.vercel-theme .md-empty div[style*="color:#6b7280"] { color: var(--vc-muted) !important; }
html.vercel-theme .md-empty .md-empty-cta { border-color: var(--vc-fg-strong); color: var(--vc-fg-strong); }

/* ── Toasts / error states ── */
html.vercel-theme .contacts-toast { background: var(--vc-card); color: var(--vc-fg); box-shadow: 0 0 0 1px var(--vc-border), 0 10px 28px rgba(0,0,0,.14); }
html.vercel-theme .contacts-error-toast { background: var(--vc-card); color: var(--vc-fg); box-shadow: 0 0 0 1px var(--vc-border), 0 12px 32px rgba(0,0,0,.16); }
html.vercel-theme #contactsRetryBtn { background: var(--vc-accent) !important; color: var(--vc-accent-fg) !important; } /* inline background:#18181b */

/* ==== END SECTION: CONTACTS (vercel) ==== */


/* ==== SECTION: COMPANY DATABASE (vercel) ==== */

/* Page canvas + type */
html.vercel-theme body {
  background: var(--vc-bg);
  color: var(--vc-fg);
  font-family: var(--vc-sans);
}
html.vercel-theme .db-main { background: var(--vc-bg); }
html.vercel-theme .db-main::-webkit-scrollbar-thumb { background: #d8d8d8; }
html.vercel-theme .db-main::-webkit-scrollbar-track { background: transparent; }
html.vercel-theme .db-main { scrollbar-color: #d8d8d8 transparent; }

/* Topbar */
html.vercel-theme .db-title { color: var(--vc-fg-strong); }
html.vercel-theme .db-sub { color: var(--vc-muted); }
html.vercel-theme .db-status { color: var(--vc-muted); font-family: var(--vc-mono); }
html.vercel-theme .db-status.ok { color: var(--vc-green-text); }
html.vercel-theme .db-status.error { color: var(--vc-red); }

/* Panels */
html.vercel-theme .db-panel {
  background: var(--vc-card);
  border-color: var(--vc-border);
}
html.vercel-theme .db-panel-head { border-bottom-color: var(--vc-border); }
html.vercel-theme .db-panel-title { color: var(--vc-fg); }
html.vercel-theme .db-panel-sub { color: var(--vc-muted); }

/* Upload dropzone */
html.vercel-theme .db-upload-zone {
  border-color: var(--vc-border-strong);
  background: var(--vc-surface);
}
html.vercel-theme .db-upload-zone:hover {
  border-color: var(--vc-accent);
  background: rgba(0, 0, 0, 0.03);
}
html.vercel-theme .db-upload-zone.drag {
  border-color: var(--vc-accent);
  background: rgba(0, 0, 0, 0.05);
}
html.vercel-theme .db-upload-icon {
  border-color: var(--vc-border);
  background: var(--vc-card);
  color: var(--vc-dim);
}
html.vercel-theme .db-upload-title { color: var(--vc-fg); }
html.vercel-theme .db-upload-meta { color: var(--vc-dim); }

/* Buttons — primary -> black */
html.vercel-theme .db-btn {
  background: var(--vc-accent);
  border-color: var(--vc-accent);
  color: var(--vc-accent-fg);
}
html.vercel-theme .db-btn:hover {
  background: var(--vc-accent-hover);
  border-color: var(--vc-accent-hover);
}
html.vercel-theme .db-btn.secondary {
  background: var(--vc-card);
  color: var(--vc-fg);
  border-color: var(--vc-border);
}
html.vercel-theme .db-btn.secondary:hover {
  background: var(--vc-card-hover);
  border-color: var(--vc-border-strong);
}
html.vercel-theme .db-btn.danger {
  background: transparent;
  color: var(--vc-red);
  border-color: rgba(192, 50, 47, 0.35);
}
html.vercel-theme .db-btn.danger:hover {
  background: rgba(192, 50, 47, 0.08);
  border-color: rgba(192, 50, 47, 0.55);
}

/* Upload progress */
html.vercel-theme .db-progress-track { background: var(--vc-surface); }
html.vercel-theme .db-progress-fill { background: var(--vc-muted); }
html.vercel-theme .db-progress-text { color: var(--vc-muted); }

/* Inputs */
html.vercel-theme .db-input,
html.vercel-theme .db-textarea {
  background: var(--vc-card);
  border-color: var(--vc-border);
  color: var(--vc-fg);
}
html.vercel-theme .db-input::placeholder,
html.vercel-theme .db-textarea::placeholder { color: var(--vc-dim); }
html.vercel-theme .db-input:focus,
html.vercel-theme .db-textarea:focus {
  border-color: var(--vc-border-strong);
  box-shadow: none;
}

/* Gmail row */
html.vercel-theme .db-gmail-state { color: var(--vc-fg); }
html.vercel-theme .db-gmail-email {
  color: var(--vc-green-text);
  font-family: var(--vc-mono);
}

/* Section labels + empty state */
html.vercel-theme .db-section-label {
  color: var(--vc-dim);
  font-family: var(--vc-mono);
}
html.vercel-theme .db-empty {
  border-color: var(--vc-border);
  color: var(--vc-dim);
}

/* Saved items list */
html.vercel-theme .db-item {
  background: var(--vc-card);
  border-color: var(--vc-border);
}
html.vercel-theme .db-item:hover { border-color: var(--vc-border-strong); }
html.vercel-theme .db-item-icon {
  background: var(--vc-surface);
  color: var(--vc-muted);
  font-family: var(--vc-mono);
}
html.vercel-theme .db-item-title { color: var(--vc-fg); }
html.vercel-theme .db-item-meta {
  color: var(--vc-dim);
  font-family: var(--vc-mono);
}

/* Sign-in banner — light amber tint */
html.vercel-theme .db-signin {
  background: rgba(168, 107, 0, 0.10);
  border-color: rgba(168, 107, 0, 0.32);
  color: var(--vc-amber);
}
html.vercel-theme .db-signin a { color: var(--vc-amber); }

/* Toast */
html.vercel-theme .db-toast {
  background: var(--vc-card);
  color: var(--vc-fg);
  box-shadow: 0 0 0 1px var(--vc-border), 0 18px 40px rgba(0, 0, 0, 0.16);
}
/* ==== END SECTION: COMPANY DATABASE (vercel) ==== */


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

/* Token flip — the page drives most colors off its --ink-* ramp and --da-* overlay
   vars (including several inline style="" attributes). The ink ramp inverts:
   low ink -> light surfaces, high ink -> dark text. Scoped via :has(#aiAgentsMain). */
html.vercel-theme body:has(main#aiAgentsMain) {
  background: var(--vc-bg);
  color: var(--vc-fg);
  --bg: var(--vc-bg);
  --ink-50: var(--vc-surface);
  --ink-100: var(--vc-border-soft);
  --ink-200: var(--vc-border);
  --ink-300: var(--vc-border-strong);
  --ink-400: var(--vc-dim);
  --ink-500: var(--vc-muted);
  --ink-600: var(--vc-fg);
  --ink-700: var(--vc-fg);
  --ink-800: var(--vc-fg-strong);
  --ink-900: var(--vc-fg-strong);
  --da-accent: var(--vc-accent);
  --da-accent-hover: var(--vc-accent-hover);
  --da-border: var(--vc-border);
  --da-shadow-card: rgba(0,0,0,0.08) 0 0 0 1px, rgba(0,0,0,0.06) 0 2px 4px;
}

/* Paper grain: light dots on the light canvas */
html.vercel-theme #aiAgentsMain .paper-grain {
  background-image: radial-gradient(#ededed 1px, transparent 1px), radial-gradient(#ededed 1px, transparent 1px);
}

/* Testimonial columns */
html.vercel-theme #aiAgentsMain .testimonial-card {
  background: var(--vc-card);
  border-color: var(--vc-border);
  box-shadow: none;
}
html.vercel-theme #aiAgentsMain .testimonial-quote { color: var(--vc-muted); }
html.vercel-theme #aiAgentsMain .testimonial-meta { border-top-color: var(--vc-border); }
html.vercel-theme #aiAgentsMain .testimonial-avatar { background: var(--vc-surface); color: var(--vc-fg); }
html.vercel-theme #aiAgentsMain .testimonial-name { color: var(--vc-fg); }
html.vercel-theme #aiAgentsMain .testimonial-role { color: var(--vc-dim); }

/* Hero */
html.vercel-theme #aiAgentsMain .hero-logo {
  background: var(--vc-surface); /* keep the logo tile light so the mark stays visible */
  box-shadow: 0 8px 24px -10px rgba(0,0,0,0.12);
}
html.vercel-theme #aiAgentsMain .hero-title { color: var(--vc-fg-strong); }
html.vercel-theme #aiAgentsMain .hero-title .italic { color: var(--vc-muted); }
html.vercel-theme #aiAgentsMain .hero-sub { color: var(--vc-muted); }

/* Composer (hero + fixed chat composer share .composer) */
html.vercel-theme #aiAgentsMain .composer {
  background: var(--vc-card);
  border-color: var(--vc-border);
  box-shadow: 0 18px 46px -18px rgba(0,0,0,0.12);
}
html.vercel-theme #aiAgentsMain .composer:focus-within {
  border-color: var(--vc-border-strong);
  box-shadow: 0 22px 50px -18px rgba(0,0,0,0.16);
}
html.vercel-theme #aiAgentsMain .composer textarea { color: var(--vc-fg); }
html.vercel-theme #aiAgentsMain .composer textarea::placeholder { color: var(--vc-dim); }
/* #agentNotesSend carries inline style="background:var(--ink-900);color:#fff;border-color:var(--ink-900)" — !important required */
html.vercel-theme #aiAgentsMain .composer-mic {
  background: var(--vc-accent) !important;
  border-color: var(--vc-accent) !important;
  color: var(--vc-accent-fg) !important;
}
html.vercel-theme #aiAgentsMain .composer-mic:hover {
  background: var(--vc-accent-hover) !important;
  border-color: var(--vc-accent-hover) !important;
}
html.vercel-theme #aiAgentsMain .composer-fixed .composer-send {
  background: var(--vc-accent);
  border-color: var(--vc-accent);
  color: var(--vc-accent-fg);
}
html.vercel-theme #aiAgentsMain .composer-fixed .composer-send:hover {
  background: var(--vc-accent-hover);
  border-color: var(--vc-accent-hover);
}
html.vercel-theme #aiAgentsMain .composer-fixed {
  background: linear-gradient(to top, var(--vc-bg) 72%, transparent);
}

/* Developer-access line (inline var(--ink-*) colors — belt and braces over the var flip) */
html.vercel-theme #aiAgentsMain .dev-access-line { color: var(--vc-dim) !important; }
html.vercel-theme #aiAgentsMain #copyPromptBtn,
html.vercel-theme #aiAgentsMain #mcpPageLink { color: var(--vc-muted) !important; }
html.vercel-theme #aiAgentsMain #copyPromptBtn:hover,
html.vercel-theme #aiAgentsMain #mcpPageLink:hover { color: var(--vc-fg) !important; }
html.vercel-theme #aiAgentsMain .dev-access-line > span { color: var(--vc-border-strong) !important; }

/* Legacy primary CTA class + status line */
html.vercel-theme #aiAgentsMain .copy-prompt-btn {
  background: var(--vc-accent);
  color: var(--vc-accent-fg);
  box-shadow: 0 18px 40px -18px rgba(0,0,0,0.14);
}
html.vercel-theme #aiAgentsMain .copy-prompt-btn:hover { background: var(--vc-accent-hover); }
html.vercel-theme #aiAgentsMain .copy-prompt-status { color: var(--vc-muted); }
html.vercel-theme #aiAgentsMain .copy-prompt-status.ok { color: var(--vc-green-text); }
html.vercel-theme #aiAgentsMain .copy-prompt-status.error { color: var(--vc-red); }

/* Starter context + sample chips */
html.vercel-theme #aiAgentsMain .starter-audience-context { color: var(--vc-muted); }
html.vercel-theme #aiAgentsMain .starter-context-kicker {
  background: rgba(255,255,255,0.82);
  border-color: var(--vc-border);
  color: var(--vc-fg);
  font-family: var(--vc-mono);
}
html.vercel-theme #aiAgentsMain .sample-chip {
  background: var(--vc-card);
  border-color: var(--vc-border);
  color: var(--vc-fg);
}
html.vercel-theme #aiAgentsMain .sample-chip:hover {
  background: var(--vc-surface);
  border-color: var(--vc-fg-strong);
  color: var(--vc-fg-strong);
}
html.vercel-theme #aiAgentsMain .helper-line { color: var(--vc-dim); }

/* Chat */
html.vercel-theme #aiAgentsMain .chat-avatar { background: var(--vc-surface); }
/* Kill the full-width row fill. The unscoped "html.vercel-theme .chat-msg.user
   { background: var(--vc-accent) }" rule (above, meant for the Ask-Geo side
   panel) leaked onto this page and painted every user turn as a solid black
   bar, the "black square" the owner reported. The bubble carries the color; the
   row never does. #aiAgentsMain gives this the specificity to win. */
html.vercel-theme #aiAgentsMain .chat-msg,
html.vercel-theme #aiAgentsMain .chat-msg.user { background: transparent; }
html.vercel-theme #aiAgentsMain .chat-bubble { color: var(--vc-fg); }
html.vercel-theme #aiAgentsMain .chat-msg.bot .chat-bubble {
  background: var(--vc-card);
  border-color: var(--vc-border);
  box-shadow: 0 1px 1.5px rgba(0,0,0,0.05);
  border-bottom-left-radius: 6px;
}
html.vercel-theme #aiAgentsMain .chat-msg.user .chat-bubble {
  background: var(--vc-accent);
  color: var(--vc-accent-fg);
  border-bottom-right-radius: 6px;
}
html.vercel-theme #aiAgentsMain .chat-connect-btn { background: var(--vc-accent); color: var(--vc-accent-fg); }
html.vercel-theme #aiAgentsMain .chat-connect-btn:hover { background: var(--vc-accent-hover); }
html.vercel-theme #aiAgentsMain .chat-connect-link { color: var(--vc-fg); }
html.vercel-theme #aiAgentsMain .chat-typing span { background: var(--vc-dim); }
html.vercel-theme #aiAgentsMain .agents-chat-topbar {
  background: linear-gradient(to bottom, var(--vc-bg) 80%, transparent);
}
html.vercel-theme #aiAgentsMain .agents-chat-topbar-label { color: var(--vc-muted); }
html.vercel-theme #aiAgentsMain .agents-chat-topbar-copy {
  background: var(--vc-surface);
  border-color: var(--vc-border);
  color: var(--vc-fg);
}
html.vercel-theme #aiAgentsMain .agents-chat-topbar-copy:hover {
  border-color: var(--vc-fg-strong);
  color: var(--vc-fg-strong);
}

/* Zero-results card */
html.vercel-theme #aiAgentsMain .agent-zero-status { color: var(--vc-muted); }
html.vercel-theme #aiAgentsMain .agent-zero-check { background: var(--vc-surface); color: var(--vc-fg); }
html.vercel-theme #aiAgentsMain .agent-zero-count { color: var(--vc-dim); }
html.vercel-theme #aiAgentsMain .agent-zero-count::before { color: var(--vc-border-strong); }
html.vercel-theme #aiAgentsMain .agent-zero-summary { color: var(--vc-fg); }
html.vercel-theme #aiAgentsMain .agent-zero-criterion {
  background: var(--vc-surface);
  border-color: var(--vc-border);
  color: var(--vc-fg);
}
html.vercel-theme #aiAgentsMain .agent-zero-options-title { color: var(--vc-muted); }
html.vercel-theme #aiAgentsMain .agent-zero-choice {
  background: var(--vc-surface);
  border-color: var(--vc-border);
  color: var(--vc-fg);
}
html.vercel-theme #aiAgentsMain .agent-zero-choice[aria-checked="true"] {
  background: var(--vc-accent-soft);
  border-color: var(--vc-fg-strong);
  color: var(--vc-fg-strong);
}
html.vercel-theme #aiAgentsMain .agent-zero-radio { border-color: var(--vc-dim); }
html.vercel-theme #aiAgentsMain .agent-zero-choice[aria-checked="true"] .agent-zero-radio { border-color: var(--vc-fg-strong); }
html.vercel-theme #aiAgentsMain .agent-zero-choice[aria-checked="true"] .agent-zero-radio::after { background: var(--vc-fg-strong); }
html.vercel-theme #aiAgentsMain .agent-zero-recommended { color: var(--vc-dim); }
html.vercel-theme #aiAgentsMain .agent-zero-search { background: var(--vc-accent); color: var(--vc-accent-fg); }
html.vercel-theme #aiAgentsMain .agent-zero-search:hover { background: var(--vc-accent-hover); }
html.vercel-theme #aiAgentsMain .agent-zero-edit { color: var(--vc-muted); }
html.vercel-theme #aiAgentsMain .agent-zero-edit:hover { color: var(--vc-fg); }

/* Rule-C confirmation card (ambers -> light amber tint) */
html.vercel-theme #aiAgentsMain .geo-confirm-card {
  background: var(--vc-card);
  border-color: var(--vc-border);
  box-shadow: 0 18px 40px -22px rgba(0,0,0,0.12);
}
html.vercel-theme #aiAgentsMain .geo-confirm-head { border-bottom-color: var(--vc-border); }
html.vercel-theme #aiAgentsMain .geo-confirm-icon { background: var(--vc-surface); color: var(--vc-fg); }
html.vercel-theme #aiAgentsMain .geo-confirm-kicker {
  color: var(--vc-amber);
  font-family: var(--vc-mono);
}
html.vercel-theme #aiAgentsMain .geo-confirm-title { color: var(--vc-fg-strong); }
html.vercel-theme #aiAgentsMain .geo-confirm-row { border-bottom-color: var(--vc-border); }
html.vercel-theme #aiAgentsMain .geo-confirm-key { color: var(--vc-muted); }
html.vercel-theme #aiAgentsMain .geo-confirm-val { color: var(--vc-fg); }
html.vercel-theme #aiAgentsMain .geo-confirm-cost {
  background: rgba(168,107,0,0.10);
  border-color: rgba(168,107,0,0.30);
  color: var(--vc-amber);
}
html.vercel-theme #aiAgentsMain .geo-confirm-do { background: var(--vc-accent); color: var(--vc-accent-fg); }
html.vercel-theme #aiAgentsMain .geo-confirm-do:hover { background: var(--vc-accent-hover); }
html.vercel-theme #aiAgentsMain .geo-confirm-cancel {
  background: var(--vc-surface);
  border-color: var(--vc-border);
  color: var(--vc-fg);
}
html.vercel-theme #aiAgentsMain .geo-confirm-cancel:hover {
  border-color: var(--vc-fg-strong);
  color: var(--vc-fg-strong);
}
html.vercel-theme #aiAgentsMain .geo-confirm-foot { color: var(--vc-dim); }

/* Sidebar "Recent chats" block (JS-injected) — micro-label font only */
html.vercel-theme .agents-recents-title {
  font-family: var(--vc-mono);
}

/* ── personality step: visible editable prompt (2026-08-12) ── */
html.vercel-theme .prime-demo-prompt { margin: 14px 0 4px; }
html.vercel-theme .prime-demo-prompt-label { font-family: var(--vc-mono); font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--vc-muted); margin-bottom: 6px; }
html.vercel-theme .prime-demo-prompt textarea { width: 100%; box-sizing: border-box; background: var(--vc-bg); color: var(--vc-fg); border: 1px solid var(--vc-border); border-radius: 10px; padding: 12px 14px; font-family: var(--vc-mono); font-size: 12.5px; line-height: 1.55; resize: vertical; min-height: 120px; }
html.vercel-theme .prime-demo-prompt textarea:focus { outline: none; border-color: var(--vc-border-strong); box-shadow: 0 0 0 3px var(--vc-accent-soft); }
html.vercel-theme .prime-demo-prompt-hint { font-size: 11px; color: var(--vc-dim); margin-top: 5px; }

/* == Personality step: two-column layout + "icy" control panel (Nadav 2026-08-13)
   Left = Geo + the John Doe demo; right = a control panel with quick-action
   buttons + the editable prompt. The old bottom chat box is hidden (above). == */
html.vercel-theme .prime-demo-cols {
  display: flex; gap: 36px; align-items: stretch;
  width: 100%; max-width: 1060px; margin: auto; padding: 20px 28px; box-sizing: border-box;
}
/* left column becomes a flex column so its card can sit centered against the
   taller control panel — keeps the two sides visually balanced, not top-ragged */
html.vercel-theme .prime-demo-left { display: flex; flex-direction: column; justify-content: center; }
html.vercel-theme .prime-demo-left { flex: 1 1 52%; min-width: 0; }
html.vercel-theme .prime-demo-left .prime-demo-thread { max-width: none; margin: 0; }
html.vercel-theme .prime-demo-right { flex: 0 0 454px; max-width: 454px; }
@media (max-width: 940px) {
  html.vercel-theme .prime-demo-cols { flex-direction: column; align-items: stretch; gap: 24px; max-width: 560px; }
  html.vercel-theme .prime-demo-right { flex-basis: auto; max-width: none; width: 100%; }
}

/* Left column: a clean "live preview" lead + the sample as a standalone card
   (no chat bubbles / Geo avatars — this is a preview, not a conversation). */
html.vercel-theme .prime-demo-lead { margin-bottom: 16px; }
html.vercel-theme .prime-demo-lead-kicker { font-family: var(--vc-mono); font-size: 10px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--vc-accent); font-weight: 600; margin-bottom: 8px; }
html.vercel-theme .prime-demo-lead-title { font-size: 22px; font-weight: 700; letter-spacing: -0.02em; color: var(--vc-fg-strong); line-height: 1.15; }
html.vercel-theme .prime-demo-lead-sub { font-size: 13px; color: var(--vc-muted); line-height: 1.6; margin-top: 8px; max-width: 46ch; }
html.vercel-theme .prime-demo-card {
  background: var(--vc-card); border: 1px solid var(--vc-border); border-radius: 16px;
  padding: 20px 22px; box-shadow: 0 1px 0 rgba(255,255,255,0.6) inset, 0 18px 40px -22px rgba(0,0,0,0.22);
}
html.vercel-theme .prime-demo-card .prime-demo-subject { font-size: 15.5px; margin-bottom: 9px; }
html.vercel-theme .prime-demo-card .prime-demo-body { font-size: 14px; line-height: 1.72; }
html.vercel-theme .prime-demo-card .prime-demo-msg-head { margin-bottom: 14px; padding-bottom: 12px; border-bottom: 1px solid var(--vc-border-soft); }
html.vercel-theme .prime-demo-card-loading { display: flex; align-items: center; min-height: 108px; }
html.vercel-theme .prime-demo-card-msg { font-size: 14px; color: var(--vc-fg); line-height: 1.7; }

html.vercel-theme .prime-ctrl {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.9), rgba(244, 247, 250, 0.82));
  border: 1px solid var(--vc-border); border-radius: 18px; padding: 24px 24px 22px;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.7) inset, 0 18px 44px -22px rgba(0, 0, 0, 0.2);
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
}
html.vercel-theme .prime-ctrl-head { margin-bottom: 16px; }
html.vercel-theme .prime-ctrl-title { font-size: 16.5px; font-weight: 700; color: var(--vc-fg-strong); letter-spacing: -0.01em; }
html.vercel-theme .prime-ctrl-sub { font-size: 12.5px; color: var(--vc-muted); margin-top: 5px; line-height: 1.5; }
html.vercel-theme .prime-ctrl-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
html.vercel-theme .prime-ctrl-btn {
  display: inline-flex; align-items: center; gap: 6px;
  background: var(--vc-card); border: 1px solid var(--vc-border-strong); color: var(--vc-fg);
  font-size: 12.5px; font-weight: 550; font-family: var(--vc-sans);
  border-radius: 999px; padding: 7px 13px; cursor: pointer;
  transition: background 0.15s, color 0.15s, border-color 0.15s, transform 0.12s, box-shadow 0.15s;
}
html.vercel-theme .prime-ctrl-btn:hover { background: var(--vc-accent); color: var(--vc-accent-fg); border-color: var(--vc-accent); transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.14); }
html.vercel-theme .prime-ctrl-btn-ic { font-size: 14px; line-height: 1; opacity: 0.65; font-weight: 400; }
html.vercel-theme .prime-ctrl-btn:hover .prime-ctrl-btn-ic { opacity: 1; }
html.vercel-theme .prime-ctrl .prime-demo-prompt { margin: 0; }
html.vercel-theme .prime-ctrl .prime-demo-prompt textarea { min-height: 250px; background: var(--vc-card); font-size: 13px; line-height: 1.6; padding: 14px 15px; }
html.vercel-theme .prime-ctrl .prime-demo-prompt-label { font-size: 10.5px; margin-bottom: 8px; }
/* prompt footer: a compact hint above a full-width, obviously-pressable button */
html.vercel-theme .prime-demo-prompt-foot { display: block; margin-top: 12px; }
html.vercel-theme .prime-demo-prompt-foot .prime-demo-prompt-hint { display: block; margin: 0 0 10px; }
html.vercel-theme .prime-demo-apply {
  width: 100%; display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  background: var(--vc-accent); color: var(--vc-accent-fg); border: 1px solid var(--vc-accent);
  border-radius: 11px; padding: 12px 16px; font-size: 13.5px; font-weight: 650; font-family: var(--vc-sans);
  cursor: pointer; white-space: nowrap;
  transition: background 0.15s, transform 0.12s, box-shadow 0.15s, opacity 0.15s;
}
html.vercel-theme .prime-demo-apply:hover { background: var(--vc-accent-hover); transform: translateY(-1px); box-shadow: 0 6px 16px -7px rgba(0, 0, 0, 0.32); }
html.vercel-theme .prime-demo-apply:active { transform: translateY(0); }
html.vercel-theme .prime-demo-apply .prime-demo-apply-ic { width: 15px; height: 15px; flex-shrink: 0; }
html.vercel-theme .prime-demo-apply.is-busy { opacity: 0.72; cursor: default; transform: none; box-shadow: none; }
html.vercel-theme .prime-demo-apply.is-busy .prime-demo-apply-ic { animation: vercelApplySpin 0.8s linear infinite; }
@keyframes vercelApplySpin { to { transform: rotate(360deg); } }
html.vercel-theme .prime-ctrl-flash { animation: vercelCtrlFlash 0.65s ease; }
@keyframes vercelCtrlFlash { 0% { box-shadow: 0 0 0 3px var(--vc-accent-soft); border-color: var(--vc-accent); } 100% { box-shadow: none; } }

/* value popup: calendar link / phone / signature */
html.vercel-theme .prime-ctrl-modal {
  position: fixed; inset: 0; z-index: 10000;
  background: rgba(15, 15, 20, 0.32); -webkit-backdrop-filter: blur(2px); backdrop-filter: blur(2px);
  display: grid; place-items: center; padding: 20px;
}
html.vercel-theme .prime-ctrl-modal-card {
  width: 100%; max-width: 420px; background: var(--vc-card);
  border: 1px solid var(--vc-border); border-radius: 16px; padding: 22px;
  box-shadow: 0 24px 60px -20px rgba(0, 0, 0, 0.4); animation: vercelCtrlPop 0.16s ease;
}
@keyframes vercelCtrlPop { from { opacity: 0; transform: translateY(8px) scale(0.98); } to { opacity: 1; transform: none; } }
html.vercel-theme .prime-ctrl-modal-title { font-size: 16px; font-weight: 700; color: var(--vc-fg-strong); margin-bottom: 14px; }
html.vercel-theme .prime-ctrl-modal-label { display: block; font-family: var(--vc-mono); font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--vc-muted); margin-bottom: 6px; }
html.vercel-theme .prime-ctrl-modal-card input,
html.vercel-theme .prime-ctrl-modal-card textarea {
  width: 100%; box-sizing: border-box; background: var(--vc-bg); color: var(--vc-fg);
  border: 1px solid var(--vc-border); border-radius: 10px; padding: 11px 13px;
  font-family: var(--vc-sans); font-size: 13.5px; line-height: 1.5; resize: vertical;
}
html.vercel-theme .prime-ctrl-modal-card input:focus,
html.vercel-theme .prime-ctrl-modal-card textarea:focus { outline: none; border-color: var(--vc-border-strong); box-shadow: 0 0 0 3px var(--vc-accent-soft); }
html.vercel-theme .prime-ctrl-modal-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 18px; }
html.vercel-theme .prime-ctrl-modal-cancel { background: none; border: 1px solid var(--vc-border); color: var(--vc-muted); border-radius: 9px; padding: 9px 16px; font-size: 13px; font-weight: 550; cursor: pointer; }
html.vercel-theme .prime-ctrl-modal-cancel:hover { color: var(--vc-fg); border-color: var(--vc-border-strong); }
html.vercel-theme .prime-ctrl-modal-done { background: var(--vc-accent); color: var(--vc-accent-fg); border: 1px solid var(--vc-accent); border-radius: 9px; padding: 9px 18px; font-size: 13px; font-weight: 650; cursor: pointer; }
html.vercel-theme .prime-ctrl-modal-done:hover { background: var(--vc-accent-hover); }

/* ==== SECTION: first-campaign guide (prime-ftue.js + prime-wizard-extras.js) ====
   2026-08-31 — the guide now runs on the default light theme too; these mirror
   the prime-theme .prime-ftue-* rules with light-theme colors. */
html.vercel-theme .prime-ftue-hole { position: fixed; z-index: 9990; border-radius: 12px; pointer-events: none; box-shadow: 0 0 0 100vmax rgba(10,10,10,0.45); opacity: 0; transition: opacity 0.6s, left 0.5s ease, top 0.5s ease, width 0.5s ease, height 0.5s ease; animation: vtFtuePulse 1.6s infinite; }
html.vercel-theme .prime-ftue-hole.show { opacity: 1; }
@keyframes vtFtuePulse { 0%,100% { outline: 3px solid rgba(10,10,10,0.35); outline-offset: 2px; } 50% { outline: 6px solid rgba(10,10,10,0.7); outline-offset: 4px; } }
html.vercel-theme .prime-ftue-block { position: fixed; z-index: 9991; background: transparent; opacity: 0; }
html.vercel-theme .prime-ftue-block.show { opacity: 1; }
html.vercel-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: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }
html.vercel-theme .prime-ftue-geo.show { opacity: 1; }
html.vercel-theme .prime-ftue-bubble { background: #ffffff; border: 1px solid #e5e5e5; border-radius: 12px; padding: 12px 15px; font-size: 12.5px; line-height: 1.5; color: #171717; width: 100%; box-shadow: 0 12px 32px -12px rgba(0,0,0,0.25); }
html.vercel-theme .prime-ftue-head { width: 58px; height: 58px; border-radius: 50%; background: #f4f4ef; border: 2px solid #0a0a0a; display: flex; align-items: center; justify-content: center; overflow: hidden; animation: vtGeoBob 3s ease-in-out infinite; }
html.vercel-theme .prime-ftue-head img { width: 46px; height: 46px; object-fit: contain; }
@keyframes vtGeoBob { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }
html.vercel-theme .prime-ftue-bubble { position: relative; }
html.vercel-theme .prime-ftue-close { position: absolute; top: 4px; right: 8px; background: none; border: 0; color: #a3a3a3; font-size: 15px; cursor: pointer; pointer-events: auto; padding: 2px 4px; }
html.vercel-theme .prime-ftue-close:hover { color: #171717; }
html.vercel-theme .prime-ftue-bubble .prime-ftue-next { display: block; margin: 10px auto 0; pointer-events: auto; background: #0a0a0a; color: #fff; border: 0; border-radius: 8px; padding: 7px 16px; font-size: 12px; font-weight: 600; cursor: pointer; }
html.vercel-theme .prime-ftue-bubble .prime-ftue-next:hover { background: #262626; }
