    body { font-family: "IBM Plex Sans", system-ui, sans-serif; margin: 0; background: #F5F1EA; -webkit-font-smoothing: auto; }
    button { -webkit-font-smoothing: inherit; }
    /* IBM Plex Sans/Mono renders soft/blurry at small sizes on Windows Chrome,
       worst on colored backgrounds with uppercase+letterSpacing. Buttons and
       badges are small, often-colored, and read often — give them the system
       UI font instead. `auto` (not `antialiased`) lets ClearType render sharply. */
    button, .badge, [class*="badge"] {
      font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
      -webkit-font-smoothing: auto;
    }
    /* Default weight for badges so future ones are legible even if the call
       site forgets to set fontWeight inline — inline fontWeight still wins
       when a site sets its own (most existing badges do, 600 or 700). */
    .badge, [class*="badge"] {
      font-weight: 600;
    }
    /* .font-mono below is !important, which otherwise beats the plain rule
       above for any button/badge that also carries Tailwind's font-mono
       utility class (e.g. most Admin page buttons) — match that specificity. */
    button.font-mono, [class*="badge"].font-mono {
      font-family: 'Segoe UI', system-ui, -apple-system, sans-serif !important;
    }
    .font-mono { font-family: "IBM Plex Mono", ui-monospace, monospace !important; }
    .font-serif { font-family: "Fraunces", "Playfair Display", Georgia, serif !important; }
    ::selection { background: #1B3022; color: #F5F1EA; }
    input[type="range"] { -webkit-appearance: none; height: 2px; background: #D9D2C5; outline: none; }
    input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; width: 14px; height: 14px; background: #C5A059; cursor: pointer; border-radius: 50%; }
    input[type="range"]::-moz-range-thumb { width: 14px; height: 14px; background: #C5A059; cursor: pointer; border-radius: 50%; border: none; }
    .hover-lift { transition: transform 0.2s ease, box-shadow 0.2s; }
    .hover-lift:hover { transform: translateY(-2px) scale(1.03); box-shadow: 0 8px 24px 0 rgba(197,160,89,0.10); }
    .lead-collapsible-card { transition: border-bottom-color 0.15s ease; }
    .lead-collapsible-card:hover { border-bottom-color: #e0dbd4; }
    @keyframes bounce { 0%, 80%, 100% { transform: translateY(0); } 40% { transform: translateY(-6px); } }
    .crm-kpi-card { background: #F5F1EA; border: 1px solid rgba(27,48,34,0.12); border-radius: 8px; padding: 20px 24px; }
    .crm-kpi-card__label { font-family: "IBM Plex Mono", ui-monospace, monospace; font-size: 11px; text-transform: uppercase; letter-spacing: 0.08em; color: #5C7268; margin-bottom: 10px; }
    .crm-kpi-card__value { font-family: "Fraunces", "Playfair Display", Georgia, serif; font-size: 30px; font-weight: 300; color: #1B3022; line-height: 1.1; }
    .crm-section-label { font-family: "IBM Plex Mono", ui-monospace, monospace; font-size: 10px; text-transform: uppercase; letter-spacing: 0.08em; color: #5C7268; margin-bottom: 14px; }

    /* ── Prospect Pipeline Funnel ─────────────────────────────────────── */
    .funnel-bar { transition: width 0.5s ease; }
    .funnel-bar:hover { filter: brightness(0.9); }
    .funnel-view-toggle { transition: background 0.15s ease, color 0.15s ease; }

/* Calendar event chips: thicker border for the outlined style */
.fc-event {
  border-width: 2px !important;
}
