:root{
  --ink:#0b1220; --muted:#475569; --line: rgba(0,0,0,.10);
  --brand:#0b5bd3; --brand2:#2563eb;
}
.valn-wrap.white{ background:#fff; border:1px solid #e5e7eb; border-radius:14px; padding:14px; color:var(--ink); box-shadow:0 10px 26px rgba(2,6,23,.06); max-width:1100px; margin:0 auto; }
.valn-head h2{ font-size:1.7rem; font-weight:800; margin:0 0 4px; }
.valn-sub{ color:#6b7280; margin:0 0 10px; }

.offers-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; }
.offer-card{ border:1px solid #e5e7eb; border-radius:12px; padding:12px; background:#fff; }
.offer-card h3{ margin:0 0 6px; font-size:1.02rem; font-weight:800; }
.offer-card .fields label{ display:block; font-size:.9rem; margin-bottom:6px; }
.offer-card input{ width:100%; border:1px solid #e5e7eb; border-radius:10px; padding:9px 10px; }
.card-error{ color:#991b1b; min-height:16px; font-size:.84rem; margin-top:4px; }

.actions{ display:flex; align-items:center; gap:10px; margin-top:12px; }
.btn{ display:inline-block; padding:11px 16px; border-radius:999px; font-weight:700; border:none; cursor:pointer; }
.btn.primary{ background:linear-gradient(135deg,var(--brand),var(--brand2)); color:#fff; box-shadow:0 8px 22px rgba(37,99,235,.22); }
.btn.secondary{ background:#0f172a; color:#fff; }
.inline-error{ display:none; align-items:center; gap:8px; background:#fef2f2; border:1px solid #fecaca; color:#7f1d1d; padding:8px 10px; border-radius:8px; }

.results{ margin-top:12px; }
.valn-table{ width:100%; border-collapse:collapse; margin-top:8px; font-size:.95rem; }
.valn-table th,.valn-table td{ border:1px solid #e5e7eb; padding:8px 10px; text-align:left; }
.valn-table thead th{ background:#f1f5f9; }
.valn-table tr.best{ background:#ecfeff; }
.subtle{ color:#475569; margin-top:6px; }
.fineprint{ color:#6b7280; font-size:.82rem; margin-top:6px; }

/* Fixed Chat Container */
.valn-ai-card{ margin-top:12px; border:1px solid #e5e7eb; border-radius:12px; }
.valn-chat-fixed-container{ display:flex; flex-direction:column; height:420px; } /* compact fixed height */
.valn-chat-scroll-area{ flex-grow:1; overflow-y:auto; padding:10px 12px 8px; }
.valn-chat-fixed-input{ flex-shrink:0; border-top:1px solid #e5e7eb; padding:8px 10px; background:#fff; position:sticky; bottom:0; z-index:10; }

.valn-chatbar{ display:flex; gap:8px; margin-top:0; }
.valn-chatbar input{ width:100%; border:1px solid #e5e7eb; border-radius:999px; padding:11px 44px 11px 12px; }
.valn-send{ position:relative; right:0; height:36px; min-width:36px; border:none; border-radius:999px; background:#111827; color:#fff; padding:0 10px; }
.valn-suggest{ display:flex; gap:8px; flex-wrap:wrap; margin-top:6px; }
.valn-suggest button{ border:1px solid #e5e7eb; background:#fff; padding:7px 10px; border-radius:999px; cursor:pointer; font-size:.9rem; }

/* AI Header and Bubbles */
.valn-ai-header{ display:flex; gap:10px; align-items:center; margin-bottom:6px; }
.valn-ai-avatar{ width:36px; height:36px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:1.2rem; background:linear-gradient(135deg,#a7f3d0,#06b6d4); box-shadow:0 0 10px rgba(6,182,212,.5); }
.valn-ai-text-wrap{ flex:1; }
.valn-typing{ display:inline-flex; gap:3px; }
.valn-typing span{ width:6px; height:6px; border-radius:50%; background:#9ca3af; animation:bounce 1.1s infinite; }
.valn-typing span:nth-child(2){ animation-delay:.15s; }
.valn-typing span:nth-child(3){ animation-delay:.3s; }
@keyframes bounce{0%,80%,100%{transform:translateY(0);}40%{transform:translateY(-5px);}}
.valn-ai-text{ font-size:.98rem; }
.is-hidden{ display:none; }

.ai-bubble{ background:#fff; border:1px solid #e5e7eb; padding:10px 12px; border-radius:12px; margin:8px 0 0 46px; max-width:900px; }
.ai-bubble-inner{ font-size:.98rem; }
.user-bubble{ background:#dbeafe; color:#0f172a; padding:9px 12px; border-radius:12px; margin:8px 0 0 46px; display:inline-block; max-width:900px; }

.cta-chip{ display:inline-block; margin:6px 0 0 46px; padding:6px 10px; border-radius:999px; border:1px solid #bae6fd; background:#eff6ff; cursor:pointer; font-size:.9rem; }

.lead-card .lead-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:8px; }
.lead-card input{ border:1px solid #e5e7eb; border-radius:10px; padding:9px 10px; }
.lead-status{ margin-top:6px; color:#0f766e; }

@media (max-width: 1000px){
  .offers-grid{ grid-template-columns:1fr; }
  .valn-chat-fixed-container{ height:380px; }
  .lead-card .lead-grid{ grid-template-columns:1fr; }
}
