/* ==========================================================================
   Lead Engineer AI — Brand Styles
   Layered on top of Tabler UI (Bootstrap 5)
   ========================================================================== */

:root {
  /* ===== Typography ===== */
  --font-display: 'Plus Jakarta Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
  --font-body:    'Inter', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Helvetica, Arial, sans-serif;
  --font-mono:    'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

  /* ===== Brand colors (aligned to Visual Identity gallery) ===== */
  /* Navy */
  --lea-navy-900: #0B1A3A;
  --lea-navy-800: #142a5c;
  --lea-navy-700: #1e3a8a;
  --lea-navy:     #0B1A3A;        /* alias → navy-900 */
  --lea-navy-2:   #142a5c;        /* alias → navy-800 */

  /* Blue scale */
  --lea-blue-700: #1d4ed8;
  --lea-blue-500: #2D6BFF;        /* primary electric blue */
  --lea-blue-400: #4F86FF;        /* lighter, used in CTA gradient */
  --lea-blue-300: #7AA6FF;
  --lea-blue-100: #DCE7FF;
  --lea-blue-050: #EEF3FF;
  --lea-blue:      #2D6BFF;       /* alias → blue-500 */
  --lea-blue-2:    #1d4ed8;       /* alias → blue-700 */
  --lea-blue-soft: #EEF3FF;       /* alias → blue-050 */

  /* Ink (text) scale */
  --lea-ink-900: #0E1430;
  --lea-ink-700: #2A3358;
  --lea-ink-500: #5A6385;
  --lea-ink-300: #B6BCD0;
  --lea-ink-200: #DEE2EE;
  --lea-ink-100: #EEF1F8;
  --lea-ink:    #0E1430;          /* alias → ink-900 */
  --lea-muted:  #5A6385;          /* alias → ink-500 */
  --lea-line:   #DEE2EE;          /* alias → ink-200 */

  /* Accents */
  --lea-mint:   #1FB57A;
  --lea-amber:  #F4A93A;

  /* Legacy aliases (kept for any inline usage) */
  --lea-cyan:   #4F86FF;
  --lea-violet: #1e3a8a;

  /* Surfaces */
  --lea-bg-soft: #F4F8FF;
  --lea-paper:   #FFFFFF;

  --lea-radius-lg: 18px;
  --lea-radius-xl: 24px;
  --lea-shadow-sm: 0 1px 2px rgba(14, 20, 48, .04), 0 1px 3px rgba(14, 20, 48, .04);
  --lea-shadow-md: 0 6px 18px rgba(14, 20, 48, .06), 0 2px 6px rgba(14, 20, 48, .04);
  --lea-shadow-lg: 0 24px 60px rgba(14, 20, 48, .10);

  /* Gradients (match the SVG illustrations) */
  --lea-grad:       linear-gradient(135deg, #4F86FF 0%, #2D6BFF 100%);
  --lea-grad-deep:  linear-gradient(135deg, #2D6BFF 0%, #1e3a8a 100%);
  --lea-grad-soft:  linear-gradient(135deg, rgba(45, 107, 255, .08) 0%, rgba(122, 166, 255, .10) 100%);
}

html, body {
  font-family: var(--font-body);
  color: var(--lea-ink);
  background: #ffffff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Display / headings — Plus Jakarta Sans */
h1, h2, h3, h4, h5, h6,
.display,
.lea-hero-title,
.lea-title,
.lea-step-num,
.lea-funnel-label,
.navbar-brand,
.lea-bot-header .lea-bot-title,
.lea-footer h6 {
  font-family: var(--font-display);
  color: var(--lea-ink);
  letter-spacing: -0.01em;
  font-weight: 700;
}

/* Sensible default line-heights — large display text needs breathing room
   when it wraps onto multiple lines. */
h1, .lea-hero-title { font-weight: 800; letter-spacing: -0.02em; line-height: 1.15; }
h2 { line-height: 1.22; }
h3 { line-height: 1.3; }
h4, h5, h6 { line-height: 1.35; }

/* Mono utility — eyebrows, code snippets, KPI mono */
.mono,
.lea-eyebrow,
.text-uppercase.small,
.ratio-pill {
  font-family: var(--font-mono);
}

/* UI controls — explicit Inter so they don't fall back to system fonts */
.btn,
button,
input,
select,
textarea,
optgroup,
.form-control,
.form-select,
.form-label,
.form-check-label,
.dropdown-menu,
.lea-bot-footer input,
.lea-bot-form input,
.lea-bot-form select,
.lea-bot-form textarea,
.lea-bot-chip {
  font-family: var(--font-body);
}
p { color: var(--lea-muted); }

a { color: var(--lea-blue); }
a:hover { color: var(--lea-blue-2); }

.text-muted, .text-secondary { color: var(--lea-muted) !important; }

/* ===== Navigation ===== */
.lea-navbar {
  background: rgba(255, 255, 255, .85);
  backdrop-filter: saturate(160%) blur(10px);
  -webkit-backdrop-filter: saturate(160%) blur(10px);
  border-bottom: 1px solid var(--lea-line);
  position: sticky;
  top: 0;
  z-index: 1030;
}
.lea-navbar .navbar-brand {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 1.15rem;
  letter-spacing: -0.01em;
  color: var(--lea-ink);
  display: flex;
  align-items: center;
  gap: .55rem;
  flex-shrink: 0;          /* never let nav links push into brand */
  white-space: nowrap;
  margin-right: 1.5rem;
}
.lea-navbar .nav-link { white-space: nowrap; }
.lea-logo-mark {
  font-family: var(--font-display);
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  border-radius: 9px;
  background: var(--lea-grad);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-weight: 800;
  font-size: .85rem;
  box-shadow: 0 6px 16px rgba(45, 107, 255, .35);
}
.lea-navbar .nav-link {
  color: #1e293b;
  font-weight: 500;
  padding: .5rem .85rem !important;
  border-radius: 8px;
}
.lea-navbar .nav-link:hover {
  color: var(--lea-blue);
  background: var(--lea-blue-soft);
}
.lea-navbar .nav-link.active {
  color: var(--lea-blue);
  background: var(--lea-blue-soft);
}

/* ===== Buttons ===== */
.btn {
  border-radius: 12px;
  font-weight: 600;
  padding: .65rem 1.15rem;
  letter-spacing: -0.005em;
}
.btn-lg { padding: .85rem 1.4rem; font-size: 1rem; }
.btn-primary {
  background: var(--lea-blue);
  border-color: var(--lea-blue);
  box-shadow: 0 8px 22px rgba(45, 107, 255, .25);
}
.btn-primary:hover, .btn-primary:focus {
  background: var(--lea-blue-2);
  border-color: var(--lea-blue-2);
}
.btn-outline-primary {
  color: var(--lea-blue);
  border-color: #CDDBFF;
  background: #fff;
}
.btn-outline-primary:hover {
  background: var(--lea-blue);
  border-color: var(--lea-blue);
  color: #fff;
}
.btn-dark-navy {
  background: var(--lea-navy);
  border-color: var(--lea-navy);
  color: #fff;
}
.btn-dark-navy:hover { background: var(--lea-navy-2); border-color: var(--lea-navy-2); color: #fff; }
.btn-whatsapp {
  background: #25d366;
  border-color: #25d366;
  color: #fff;
}
.btn-whatsapp:hover { background: #1ebe5a; border-color: #1ebe5a; color: #fff; }

/* ===== Sections ===== */
.lea-section { padding: 5rem 0; }
.lea-section-tight { padding: 3.5rem 0; }
@media (max-width: 768px) {
  .lea-section { padding: 3rem 0; }
  .lea-section-tight { padding: 2.5rem 0; }
}

.lea-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  font-family: var(--font-mono);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--lea-blue);
  background: var(--lea-blue-soft);
  padding: .38rem .75rem;
  border-radius: 999px;
  border: 1px solid #DCE7FF;
}

.lea-title {
  font-size: clamp(1.75rem, 2.6vw, 2.4rem);
  line-height: 1.25;
  margin-bottom: 1rem;
}
.lea-title + p { margin-top: .25rem; }
.lea-hero-title {
  font-size: clamp(2.1rem, 4.2vw, 3.4rem);
  line-height: 1.15;
  margin-bottom: 1rem;
}
.lea-lead {
  font-size: 1.075rem;
  color: var(--lea-muted);
  max-width: 760px;
}

.lea-bg-soft { background: var(--lea-bg-soft); }
.lea-bg-pattern {
  background: url('../img/11-bg-pattern.svg?v=3') center/cover no-repeat;
}
.lea-bg-navy {
  background: radial-gradient(1200px 500px at 10% 0%, rgba(124, 58, 237, .25), transparent 60%),
              radial-gradient(1200px 500px at 90% 100%, rgba(6, 182, 212, .22), transparent 55%),
              linear-gradient(180deg, #0B1A3A 0%, #142a5c 100%);
  color: #e6ecf7;
}
.lea-bg-navy h1, .lea-bg-navy h2, .lea-bg-navy h3, .lea-bg-navy h4 { color: #fff; }
.lea-bg-navy p, .lea-bg-navy .lea-lead { color: #c6d2e8; }

.lea-hero {
  position: relative;
  padding: 3rem 0 3.5rem;
  background:
    radial-gradient(900px 380px at 85% -10%, rgba(45, 107, 255, .10), transparent 60%),
    radial-gradient(900px 380px at -10% 20%, rgba(122, 166, 255, .14), transparent 60%),
    #ffffff;
  overflow: hidden;
}
.lea-hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--lea-line), transparent);
}
@media (max-width: 768px) { .lea-hero { padding: 2.5rem 0 2rem; } }

/* ===== Cards ===== */
.lea-card {
  background: #fff;
  border: 1px solid var(--lea-line);
  border-radius: var(--lea-radius-lg);
  padding: 1.5rem;
  height: 100%;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  box-shadow: var(--lea-shadow-sm);
}
.lea-card:hover {
  transform: translateY(-2px);
  box-shadow: var(--lea-shadow-md);
  border-color: #DEE2EE;
}
.lea-card .lea-icon {
  width: 44px; height: 44px;
  border-radius: 12px;
  background: var(--lea-blue-soft);
  color: var(--lea-blue);
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 1.4rem;
  margin-bottom: .9rem;
}
.lea-card h3, .lea-card h4 {
  font-size: 1.075rem;
  margin-bottom: .4rem;
}
.lea-card p { font-size: .95rem; margin-bottom: 0; }

.lea-card-grad {
  background: var(--lea-grad);
  color: #fff;
  border: 0;
}
.lea-card-grad h3, .lea-card-grad h4 { color: #fff; }
.lea-card-grad p { color: rgba(255,255,255,.92); }
.lea-card-grad .lea-icon { background: rgba(255,255,255,.18); color: #fff; }

/* Stat / step number */
.lea-step-num {
  width: 36px; height: 36px;
  border-radius: 10px;
  background: var(--lea-grad);
  color: #fff;
  display: inline-flex; align-items: center; justify-content: center;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 1.05rem;
  margin-bottom: .75rem;
  box-shadow: 0 8px 18px rgba(45, 107, 255, .25);
}

/* ===== Funnel diagram (hero visual) ===== */
.lea-funnel {
  background: #fff;
  border: 1px solid var(--lea-line);
  border-radius: var(--lea-radius-xl);
  padding: 1.5rem;
  box-shadow: var(--lea-shadow-lg);
  position: relative;
  overflow: hidden;
}
.lea-funnel::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--lea-grad-soft);
  z-index: 0;
  pointer-events: none;
}
.lea-funnel-inner { position: relative; z-index: 1; }
.lea-funnel-step {
  display: flex; align-items: center; gap: .85rem;
  background: #fff;
  border: 1px solid var(--lea-line);
  border-radius: 14px;
  padding: .85rem 1rem;
  box-shadow: var(--lea-shadow-sm);
}
.lea-funnel-step + .lea-funnel-step { margin-top: .65rem; }
.lea-funnel-step .lea-funnel-icon {
  width: 38px; height: 38px;
  border-radius: 10px;
  background: var(--lea-blue-soft);
  color: var(--lea-blue);
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 1.15rem;
  flex: 0 0 auto;
}
.lea-funnel-step .lea-funnel-label {
  font-weight: 600; color: var(--lea-ink); font-size: .95rem;
}
.lea-funnel-step .lea-funnel-sub {
  font-size: .8rem; color: var(--lea-muted);
}
.lea-funnel-arrow {
  text-align: center; color: var(--lea-blue);
  margin: .15rem 0;
  font-size: 1rem;
}

/* ===== Forms ===== */
.lea-form {
  background: #fff;
  border: 1px solid var(--lea-line);
  border-radius: var(--lea-radius-lg);
  padding: 1.75rem;
  box-shadow: var(--lea-shadow-md);
}
.lea-form .form-label {
  font-weight: 600; color: var(--lea-ink); font-size: .9rem;
}
.lea-form .form-control,
.lea-form .form-select {
  border-radius: 10px;
  border-color: #DEE2EE;
  padding: .65rem .85rem;
}
.lea-form .form-control:focus,
.lea-form .form-select:focus {
  border-color: var(--lea-blue);
  box-shadow: 0 0 0 .15rem rgba(45, 107, 255, .15);
}
.lea-form .form-check-label { font-size: .9rem; color: var(--lea-muted); }

/* ===== List checks ===== */
.lea-list { list-style: none; padding: 0; margin: 0; }
.lea-list li {
  display: flex; align-items: flex-start; gap: .55rem;
  padding: .35rem 0;
  color: var(--lea-ink);
  font-size: .96rem;
}
.lea-list li i {
  color: var(--lea-blue);
  font-size: 1.1rem;
  margin-top: .12rem;
  flex: 0 0 auto;
}

/* ===== Footer ===== */
.lea-footer {
  background: #0B1A3A;
  color: #c6d2e8;
  padding: 3rem 0 1.5rem;
}
.lea-footer h6 {
  font-family: var(--font-mono);
  color: #fff;
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  margin-bottom: 1rem;
}
.lea-footer a { color: #c6d2e8; text-decoration: none; }
.lea-footer a:hover { color: #fff; }
.lea-footer ul { list-style: none; padding: 0; margin: 0; }
.lea-footer ul li { padding: .25rem 0; font-size: .92rem; }
.lea-footer-bottom {
  margin-top: 2rem;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(255,255,255,.08);
  font-size: .85rem;
  color: #8da0c6;
}

/* ===== Floating WhatsApp ===== */
.lea-whatsapp-float {
  position: fixed;
  right: 18px; bottom: 18px;
  z-index: 1040;
  width: 56px; height: 56px;
  border-radius: 50%;
  background: #25d366;
  color: #fff;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 1.6rem;
  box-shadow: 0 12px 28px rgba(37, 211, 102, .45);
  transition: transform .15s ease;
  text-decoration: none;
}
.lea-whatsapp-float:hover { transform: translateY(-2px); color: #fff; }

/* ===== Compliance / disclaimer ===== */
.lea-disclaimer {
  background: #fff8e6;
  border: 1px solid #ffe6a8;
  border-radius: 14px;
  padding: 1rem 1.15rem;
  color: #6b5413;
  font-size: .92rem;
}
.lea-disclaimer strong { color: #4d3a05; }

.lea-trust-note {
  background: var(--lea-blue-soft);
  border: 1px solid #DCE7FF;
  border-radius: 14px;
  padding: 1rem 1.15rem;
  color: #1e3a8a;
  font-size: .92rem;
}

/* ===== CTA band ===== */
.lea-cta-band {
  background: var(--lea-grad);
  border-radius: var(--lea-radius-xl);
  padding: 2.75rem 2rem;
  color: #fff;
  text-align: center;
  box-shadow: 0 18px 40px rgba(45, 107, 255, .25);
}
.lea-cta-band h2 { color: #fff; }
.lea-cta-band p { color: rgba(255,255,255,.92); }
.lea-cta-band .btn-primary {
  background: #fff; color: var(--lea-blue); border-color: #fff;
  box-shadow: 0 10px 24px rgba(0,0,0,.18);
}
.lea-cta-band .btn-primary:hover { background: #f3f6ff; color: var(--lea-blue-2); }

/* ===== Pill badges ===== */
.lea-pill {
  display: inline-flex; align-items: center; gap: .35rem;
  font-size: .8rem; font-weight: 600;
  padding: .3rem .65rem;
  border-radius: 999px;
  background: var(--lea-blue-soft);
  color: var(--lea-blue);
  border: 1px solid #DCE7FF;
}

/* ===== Audience chip card ===== */
.lea-audience {
  background: #fff;
  border: 1px solid var(--lea-line);
  border-radius: 14px;
  padding: 1rem 1.1rem;
  display: flex; align-items: center; gap: .75rem;
  transition: border-color .15s ease, transform .15s ease;
}
.lea-audience:hover { border-color: #CDDBFF; transform: translateY(-2px); }
.lea-audience .lea-icon {
  width: 38px; height: 38px;
  border-radius: 10px;
  background: var(--lea-blue-soft);
  color: var(--lea-blue);
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 1.15rem;
  flex: 0 0 auto;
}
.lea-audience div strong { color: var(--lea-ink); font-size: .98rem; }

/* ===== Form alerts ===== */
.lea-alert {
  border-radius: 12px;
  padding: .85rem 1rem;
  font-size: .92rem;
  display: none;
}
.lea-alert.show { display: block; }
.lea-alert-success { background: #e8f7ef; color: #136c34; border: 1px solid #b8e3c8; }
.lea-alert-error { background: #fdecec; color: #93251f; border: 1px solid #f3bcba; }

/* ===== Service block ===== */
.lea-service {
  background: #fff;
  border: 1px solid var(--lea-line);
  border-radius: var(--lea-radius-lg);
  padding: 1.75rem;
  box-shadow: var(--lea-shadow-sm);
  height: 100%;
}
.lea-service h3 { font-size: 1.2rem; margin-bottom: .5rem; }
.lea-service .lea-icon-lg {
  width: 52px; height: 52px;
  border-radius: 14px;
  background: var(--lea-grad);
  color: #fff;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 1.5rem;
  margin-bottom: 1rem;
  box-shadow: 0 10px 22px rgba(45, 107, 255, .25);
}

/* ===== Misc ===== */
.lea-divider {
  height: 1px;
  background: var(--lea-line);
  margin: 2rem 0;
  border: 0;
}
.lea-kv {
  display: flex; flex-direction: column; gap: .25rem;
  padding: .85rem 1rem;
  border: 1px dashed #CDDBFF;
  border-radius: 12px;
  background: #F4F8FF;
}
.lea-kv span { font-size: .78rem; color: var(--lea-muted); text-transform: uppercase; letter-spacing: .05em; }
.lea-kv strong { color: var(--lea-ink); }

/* ===== Advisor profile card (representational, not a form) ===== */
.lea-advisor-card {
  position: relative;
  background: #fff;
  border: 1px solid var(--lea-line);
  border-radius: 18px;
  padding: 1.75rem;
  box-shadow: var(--lea-shadow-sm);
  overflow: hidden;
}
.lea-advisor-card::before {
  content: "";
  position: absolute; inset: 0 0 auto 0; height: 90px;
  background: linear-gradient(135deg, rgba(45,107,255,.10), rgba(122,166,255,.18));
}
.lea-advisor-preview {
  position: absolute; top: 14px; right: 14px;
  font-family: var(--font-mono);
  font-size: .68rem;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--lea-blue);
  background: rgba(45,107,255,.10);
  border: 1px solid rgba(45,107,255,.25);
  padding: .25rem .55rem;
  border-radius: 999px;
  z-index: 2;
}
.lea-advisor-head {
  position: relative; z-index: 1;
  display: flex; align-items: center; gap: 1rem;
  margin-bottom: 1.25rem;
}
.lea-advisor-avatar {
  width: 76px; height: 76px;
  border-radius: 50%;
  background: var(--lea-grad);
  color: #fff;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.7rem;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 8px 20px rgba(45,107,255,.30);
  flex-shrink: 0;
  border: 4px solid #fff;
}
.lea-advisor-id h3 {
  font-family: var(--font-display);
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--lea-ink);
  margin: 0 0 .35rem 0;
}
.lea-badge-blue {
  display: inline-flex; align-items: center; gap: .35rem;
  background: var(--lea-blue-soft);
  color: var(--lea-blue);
  font-size: .78rem;
  font-weight: 600;
  padding: .25rem .6rem;
  border-radius: 999px;
}
.lea-advisor-meta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .85rem;
  margin-bottom: 1.25rem;
}
.lea-advisor-meta > .lea-advisor-row:last-child { grid-column: 1 / -1; }
.lea-advisor-row {
  display: flex; align-items: flex-start; gap: .65rem;
  padding: .65rem .75rem;
  background: #F8FAFF;
  border: 1px solid #EAF0FE;
  border-radius: 10px;
}
.lea-advisor-row > i {
  color: var(--lea-blue);
  font-size: 1.05rem;
  margin-top: 2px;
  flex-shrink: 0;
}
.lea-advisor-row-lbl {
  font-size: .72rem;
  color: var(--lea-muted);
  text-transform: uppercase;
  letter-spacing: .04em;
  margin-bottom: 2px;
}
.lea-advisor-row-val {
  color: var(--lea-ink);
  font-weight: 600;
  font-size: .95rem;
  word-break: break-word;
}
.lea-advisor-actions {
  display: flex; flex-wrap: wrap; gap: .5rem;
  margin-bottom: 1rem;
}
.lea-advisor-note {
  font-size: .8rem;
  color: var(--lea-muted);
  margin: 0;
  padding-top: .85rem;
  border-top: 1px dashed var(--lea-line);
}
@media (max-width: 480px) {
  .lea-advisor-meta { grid-template-columns: 1fr; }
}

/* ===== Compact grid heading ===== */
.lea-section-head { max-width: 760px; }
.lea-center { text-align: center; margin-left: auto; margin-right: auto; }

/* ===== Dropdown nav ===== */
.lea-navbar .dropdown-menu {
  border: 1px solid var(--lea-line);
  border-radius: 14px;
  padding: .5rem;
  box-shadow: var(--lea-shadow-md);
  min-width: 260px;
}
.lea-navbar .dropdown-menu .dropdown-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: .2rem;
  border-radius: 10px;
  padding: .65rem .8rem;
  color: var(--lea-ink);
  font-weight: 500;
  font-size: .92rem;
  white-space: normal;
}
.lea-navbar .dropdown-menu .dropdown-item:hover,
.lea-navbar .dropdown-menu .dropdown-item:focus {
  background: var(--lea-blue-soft);
  color: var(--lea-blue);
}
.lea-navbar .dropdown-menu .dropdown-item strong {
  display: block;
  font-weight: 600;
  font-size: .95rem;
  line-height: 1.3;
  color: inherit;
}
.lea-navbar .dropdown-menu .dropdown-item .lea-mini {
  display: block;
  font-size: .78rem;
  font-weight: 400;
  line-height: 1.35;
  color: var(--lea-muted);
}
.lea-navbar .dropdown-menu .dropdown-item:hover .lea-mini,
.lea-navbar .dropdown-menu .dropdown-item:focus .lea-mini {
  color: var(--lea-blue);
}

/* ===== Chatbot ===== */
.lea-bot-launcher {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 1050;
  width: 60px; height: 60px;
  border-radius: 50%;
  border: 0;
  background: var(--lea-grad);
  color: #fff;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 1.7rem;
  box-shadow: 0 14px 30px rgba(45, 107, 255, .35);
  cursor: pointer;
  transition: transform .15s ease;
}
.lea-bot-launcher:hover { transform: translateY(-2px); }
.lea-bot-launcher .lea-bot-dot {
  position: absolute; top: 8px; right: 8px;
  width: 12px; height: 12px;
  border-radius: 50%;
  background: #25d366;
  border: 2px solid #fff;
}

/* When floating WA is also visible, push the WA up */
body.lea-bot-open .lea-whatsapp-float,
body:has(.lea-bot-launcher) .lea-whatsapp-float { bottom: 86px; }

.lea-bot-window {
  position: fixed;
  right: 18px;
  bottom: 90px;
  z-index: 1051;
  width: 360px;
  max-width: calc(100vw - 24px);
  height: 540px;
  max-height: calc(100vh - 110px);
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 24px 60px rgba(15, 23, 42, .25);
  border: 1px solid var(--lea-line);
  display: none;
  flex-direction: column;
  overflow: hidden;
}
.lea-bot-window.open { display: flex; }

.lea-bot-header {
  background: var(--lea-grad);
  color: #fff;
  padding: .85rem 1rem;
  display: flex;
  align-items: center;
  gap: .65rem;
}
.lea-bot-header .lea-bot-avatar {
  width: 36px; height: 36px;
  border-radius: 10px;
  background: rgba(255,255,255,.18);
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 1.15rem;
}
.lea-bot-header .lea-bot-title {
  font-weight: 700; line-height: 1.1; color: #fff;
}
.lea-bot-header .lea-bot-sub {
  font-size: .76rem; color: rgba(255,255,255,.85);
}
.lea-bot-close {
  margin-left: auto;
  background: transparent; border: 0; color: #fff;
  font-size: 1.25rem; cursor: pointer;
  border-radius: 8px;
  width: 30px; height: 30px;
}
.lea-bot-close:hover { background: rgba(255,255,255,.18); }

.lea-bot-body {
  flex: 1;
  overflow-y: auto;
  padding: 1rem;
  background: #F4F8FF;
  display: flex;
  flex-direction: column;
  gap: .55rem;
}
.lea-msg {
  max-width: 85%;
  padding: .6rem .8rem;
  border-radius: 14px;
  font-size: .9rem;
  line-height: 1.4;
  white-space: pre-wrap;
}
.lea-msg-bot {
  align-self: flex-start;
  background: #fff;
  border: 1px solid var(--lea-line);
  color: var(--lea-ink);
  border-bottom-left-radius: 4px;
}
.lea-msg-user {
  align-self: flex-end;
  background: var(--lea-blue);
  color: #fff;
  border-bottom-right-radius: 4px;
}
.lea-msg-system {
  align-self: center;
  background: #fff8e6;
  border: 1px solid #ffe6a8;
  color: #6b5413;
  font-size: .8rem;
  border-radius: 10px;
  padding: .4rem .65rem;
  text-align: center;
}
.lea-bot-chips {
  display: flex; flex-wrap: wrap; gap: .35rem;
  padding: .25rem 0 .15rem;
}
.lea-bot-chip {
  background: #fff;
  border: 1px solid #CDDBFF;
  color: var(--lea-blue);
  border-radius: 999px;
  padding: .35rem .7rem;
  font-size: .82rem;
  cursor: pointer;
  font-weight: 500;
}
.lea-bot-chip:hover { background: var(--lea-blue-soft); }
.lea-bot-form {
  display: flex; flex-direction: column; gap: .5rem;
  background: #fff;
  border: 1px solid var(--lea-line);
  border-radius: 12px;
  padding: .65rem;
}
.lea-bot-form label { font-size: .78rem; color: var(--lea-muted); margin: 0; font-weight: 600; }
.lea-bot-form input:not([type="checkbox"]):not([type="radio"]),
.lea-bot-form select,
.lea-bot-form textarea {
  width: 100%;
  border: 1px solid #DEE2EE;
  border-radius: 8px;
  padding: .45rem .6rem;
  font-size: .88rem;
}
.lea-bot-form .form-check {
  display: flex;
  align-items: flex-start;
  gap: .5rem;
  font-size: .82rem;
  color: var(--lea-muted);
  padding: .25rem 0;
  margin: 0;
  min-height: auto;
}
.lea-bot-form .form-check-input {
  width: 16px;
  height: 16px;
  margin: 3px 0 0 0;
  flex-shrink: 0;
  border: 1px solid #B7C2DB;
  border-radius: 4px;
  background-color: #fff;
  cursor: pointer;
}
.lea-bot-form .form-check-input:checked {
  background-color: var(--lea-blue);
  border-color: var(--lea-blue);
}
.lea-bot-form .form-check-label {
  font-size: .82rem;
  font-weight: 400;
  color: var(--lea-muted);
  line-height: 1.4;
  cursor: pointer;
  margin: 0;
}
.lea-bot-form button { align-self: flex-start; }

.lea-bot-footer {
  border-top: 1px solid var(--lea-line);
  padding: .55rem .65rem;
  background: #fff;
  display: flex;
  align-items: center;
  gap: .4rem;
}
.lea-bot-footer input {
  flex: 1;
  border: 1px solid #DEE2EE;
  border-radius: 999px;
  padding: .55rem .9rem;
  font-size: .9rem;
  outline: none;
}
.lea-bot-footer input:focus { border-color: var(--lea-blue); }
.lea-bot-send {
  width: 38px; height: 38px;
  border-radius: 50%;
  background: var(--lea-blue);
  color: #fff;
  border: 0;
  display: inline-flex; align-items: center; justify-content: center;
  cursor: pointer;
}
.lea-bot-send:hover { background: var(--lea-blue-2); }
.lea-bot-disclaimer {
  font-size: .72rem;
  color: var(--lea-muted);
  text-align: center;
  padding: 0 .65rem .55rem;
  background: #fff;
}

/* ===== Policy register table ===== */
.lea-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: #fff;
  border: 1px solid var(--lea-line);
  border-radius: var(--lea-radius-lg);
  overflow: hidden;
}
.lea-table th, .lea-table td {
  padding: .85rem 1rem;
  text-align: left;
  font-size: .9rem;
  border-bottom: 1px solid var(--lea-line);
  vertical-align: top;
}
.lea-table thead th {
  background: var(--lea-bg-soft);
  font-weight: 600;
  color: var(--lea-ink);
  font-size: .8rem;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.lea-table tbody tr:last-child td { border-bottom: 0; }
.lea-status {
  display: inline-block;
  font-size: .72rem;
  font-weight: 600;
  padding: .2rem .55rem;
  border-radius: 999px;
}
.lea-status-active { background: #e8f7ef; color: #136c34; }
.lea-status-review { background: #fff4d6; color: #7a5a00; }
.lea-status-removed { background: #fdecec; color: #93251f; }

/* ===== Mobile tweaks ===== */
@media (max-width: 480px) {
  .lea-bot-window { right: 12px; bottom: 84px; }
  .lea-bot-launcher { right: 14px; bottom: 14px; }
}
