.chat-card{height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:rgba(255,250,241,.9);border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:var(--shadow)}
.chat-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1px solid var(--line);background:rgba(255,252,246,.96)}.presence{display:flex;align-items:center;gap:9px;white-space:nowrap}.presence strong{display:block;font-size:.86rem}.presence small{display:block;color:var(--muted);font-size:.72rem;font-weight:700;margin-top:1px}.online-dot{width:9px;height:9px;border-radius:50%;background:#3ab36f;box-shadow:0 0 0 5px rgba(58,179,111,.14)}
.live-summary{min-width:0;display:flex;justify-content:flex-end;gap:5px;overflow:hidden}.live-summary:empty{display:none}.summary-chip{flex:0 1 auto;max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:5px 9px;border-radius:999px;background:#f3e7d4;color:#675947;font-size:.72rem;font-weight:800}
.conversation-wrap{min-height:0;position:relative;display:grid;grid-template-rows:auto minmax(0,1fr);background:radial-gradient(circle at 80% 0%,rgba(255,255,255,.9),transparent 28%),linear-gradient(180deg,#f9f0e5,#f4eadb)}.progress-wrap{display:grid;grid-template-columns:auto minmax(70px,1fr) auto;align-items:center;gap:8px;padding:6px 16px;color:var(--muted);font-size:.72rem;font-weight:800;background:rgba(255,250,241,.68);border-bottom:1px solid rgba(223,196,154,.58)}.progress-track{height:4px;border-radius:999px;background:#eadac0;overflow:hidden}.progress-bar{height:100%;width:0%;border-radius:inherit;background:linear-gradient(90deg,var(--gold),var(--green));transition:width .35s ease}.progress-wrap strong{font-size:.73rem;color:var(--green)}
.messages{min-height:0;overflow-y:auto;overflow-x:hidden;padding:18px max(18px,calc((100% - 760px)/2)) 22px;scroll-behavior:smooth;overscroll-behavior:contain}.messages::-webkit-scrollbar{width:7px}.messages::-webkit-scrollbar-thumb{background:#d6ba8c;border-radius:999px}.msg{display:flex;align-items:flex-end;gap:9px;margin:0 0 14px}.msg.user{justify-content:flex-end}.avatar{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,#e8bd2a,#d99a0d);color:var(--green);font-size:.92rem;font-weight:900}.bubble{max-width:min(640px,86%);padding:12px 14px;border:1px solid var(--line);border-radius:18px 18px 18px 5px;background:var(--paper);line-height:1.48;box-shadow:0 7px 18px rgba(55,35,10,.045)}.user .bubble{border-color:#b9d5ca;border-radius:18px 18px 5px 18px;background:var(--green-soft)}.time{display:block;margin-top:5px;color:var(--muted);font-size:.67rem;text-align:right}.typing span{display:inline-block;width:7px;height:7px;background:#a88b67;border-radius:50%;margin:0 2px;animation:typing 1s infinite}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}@keyframes typing{0%,80%,100%{transform:translateY(0);opacity:.35}40%{transform:translateY(-4px);opacity:1}}
.option-message{display:flex;gap:9px;align-items:flex-end;margin:0 0 16px}.option-card{width:min(640px,calc(100% - 43px));padding:11px;border:1px solid var(--line);border-radius:18px 18px 18px 5px;background:rgba(255,250,241,.92);box-shadow:0 7px 18px rgba(55,35,10,.045)}.option-card-title{display:block;margin:0 2px 9px;font-size:.78rem;color:var(--muted);font-weight:800}.option-list{display:flex;flex-wrap:wrap;gap:7px}.option-btn{min-height:38px;border:1px solid #d9c29c;border-radius:12px;padding:8px 11px;background:#fffdf9;color:var(--green);font-size:.86rem;font-weight:850;text-align:left;transition:transform .16s,border-color .16s,background .16s}.option-btn:hover,.option-btn:focus-visible{background:#eef6f2;border-color:#79a99d;transform:translateY(-1px);outline:none}.option-btn[disabled]{opacity:.55;cursor:default;transform:none}.lead-form{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}.lead-form label{display:flex;flex-direction:column;gap:5px;font-size:.82rem;font-weight:800}.lead-form input,.lead-form select{min-width:0;border:1px solid var(--line);border-radius:11px;padding:10px;background:#fff;color:var(--text)}.lead-form button{grid-column:1/-1;border:0;border-radius:12px;padding:11px;background:var(--green);color:#fff;font-weight:900}
.composer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:9px;padding:10px 13px max(10px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:rgba(255,250,241,.98)}.composer textarea{width:100%;min-height:44px;max-height:118px;resize:none;border:1px solid var(--line);border-radius:15px;padding:11px 13px;background:#fff;color:var(--text);line-height:1.3;outline:none;overflow-y:auto}.composer textarea:focus{border-color:#6f9d91;box-shadow:0 0 0 3px rgba(15,103,87,.1)}.composer button{height:44px;border:0;border-radius:14px;padding:0 15px;background:linear-gradient(145deg,#0f6757,#0a5649);color:#fff;font-weight:900;box-shadow:0 7px 16px rgba(15,103,87,.18)}.composer button b{display:none;font-size:20px}.modal-backdrop{position:fixed;inset:0;z-index:50;display:none;place-items:center;padding:20px;background:rgba(22,63,57,.28)}.modal-backdrop.open{display:grid}.modal-card{width:min(430px,100%);padding:23px;border-radius:22px;background:var(--paper);box-shadow:0 24px 60px rgba(0,0,0,.2)}.modal-card h3{margin:0;font-size:1.3rem}.modal-card p{color:var(--muted);line-height:1.45}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.modal-actions button{border-radius:11px;padding:10px 13px;font-weight:850}.modal-secondary{border:1px solid var(--line);background:#fff}.modal-primary{border:0;background:var(--green);color:white}

@media(min-width:641px){
  .messages{padding-left:max(24px,calc((100% - 760px)/2));padding-right:max(24px,calc((100% - 760px)/2));}
  .msg.user{padding-left:70px;}
}

@media(max-width:640px){.chat-card{border:0;border-radius:0;box-shadow:none}.chat-head{padding:9px 12px}.live-summary{max-width:52%}.summary-chip{max-width:132px}.progress-wrap{padding:5px 12px}.progress-wrap span{max-width:145px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.messages{padding:14px 12px 18px}.bubble{max-width:89%;padding:11px 12px}.option-card{width:calc(100% - 43px)}.option-list{display:grid;grid-template-columns:1fr}.option-btn{width:100%;min-height:42px}.lead-form{grid-template-columns:1fr}.composer{padding:8px 10px max(8px,env(safe-area-inset-bottom))}.composer button{width:44px;padding:0}.composer button span{display:none}.composer button b{display:block}.composer textarea{min-height:44px}.presence small{display:none}}

/* Ajuste tipográfico: lectura cómoda sin ensanchar ni crear scroll horizontal */
.chat-head{padding:12px 18px}
.presence strong{font-size:1rem;letter-spacing:-.01em}
.presence small{font-size:.82rem}
.online-dot{width:10px;height:10px}
.summary-chip{font-size:.78rem;padding:6px 10px}
.progress-wrap{padding:7px 18px;font-size:.8rem}
.progress-track{height:5px}
.progress-wrap strong{font-size:.82rem}
.messages{padding-top:20px;padding-bottom:24px}
.msg{gap:11px;margin-bottom:16px}
.avatar{width:36px;height:36px;flex-basis:36px;border-radius:13px;font-size:1rem}
.bubble{max-width:min(680px,86%);padding:15px 16px;font-size:1.04rem;line-height:1.5}
.time{margin-top:7px;font-size:.73rem}
.option-message{gap:11px;margin-bottom:18px}
.option-card{width:min(680px,calc(100% - 47px));padding:14px}
.option-card-title{margin:0 2px 11px;font-size:.9rem}
.option-list{gap:8px}
.option-btn{min-height:42px;padding:9px 13px;border-radius:13px;font-size:.96rem;line-height:1.18}
.composer{gap:10px;padding:11px 14px max(11px,env(safe-area-inset-bottom))}
.composer textarea{min-height:48px;padding:12px 14px;border-radius:16px;font-size:1rem;line-height:1.35}
.composer button{height:48px;padding:0 18px;border-radius:15px;font-size:1rem}

@media(max-width:640px){
  .chat-head{padding:10px 12px}
  .presence strong{font-size:.93rem}
  .presence small{font-size:.76rem}
  .progress-wrap{padding:6px 12px;font-size:.76rem}
  .messages{padding:15px 12px 20px}
  .msg{gap:9px;margin-bottom:14px}
  .avatar{width:34px;height:34px;flex-basis:34px;font-size:.94rem}
  .bubble{max-width:88%;padding:13px 14px;font-size:1rem;line-height:1.48}
  .option-card{width:calc(100% - 43px);padding:12px}
  .option-card-title{font-size:.86rem}
  .option-btn{min-height:44px;padding:10px 12px;font-size:.95rem}
  .composer textarea{min-height:46px;font-size:1rem}
  .composer button{height:46px}
}

/* V6 — corrección visual: tarjetas amplias, tipografía legible y composición profesional */
.messages{
  padding-left:max(28px,calc((100% - 900px)/2));
  padding-right:max(28px,calc((100% - 900px)/2));
  padding-top:26px;
  padding-bottom:30px;
}
.msg{gap:12px;margin-bottom:18px}
.avatar{width:38px;height:38px;flex-basis:38px;border-radius:14px;font-size:1.02rem}
.bubble{
  max-width:min(790px,88%);
  padding:17px 19px;
  border-radius:20px 20px 20px 6px;
  font-size:1.06rem;
  line-height:1.55;
}
.user .bubble{border-radius:20px 20px 6px 20px}
.time{font-size:.74rem;margin-top:8px}
.option-message{gap:12px;margin-bottom:20px}
.option-card{
  width:min(820px,calc(100% - 50px));
  padding:17px;
  border-radius:20px 20px 20px 6px;
}
.option-card-title{
  margin:0 2px 13px;
  font-size:.96rem;
  line-height:1.2;
}
.option-list{gap:10px}
.option-btn{
  min-height:46px;
  padding:11px 15px;
  border-radius:14px;
  font-size:.98rem;
  line-height:1.2;
}
.composer{padding:13px 16px max(13px,env(safe-area-inset-bottom));gap:12px}
.composer textarea{min-height:52px;padding:14px 16px;font-size:1.02rem;border-radius:17px}
.composer button{height:52px;padding:0 22px;border-radius:16px;font-size:1.03rem}

@media (max-width: 760px){
  .messages{padding:18px 14px 22px}
  .bubble{max-width:87%;padding:14px 15px;font-size:1rem}
  .option-card{width:calc(100% - 48px);padding:14px}
  .option-card-title{font-size:.91rem}
  .option-list{gap:8px}
  .option-btn{min-height:45px;padding:10px 13px;font-size:.95rem}
  .composer{padding:10px 12px max(10px,env(safe-area-inset-bottom))}
  .composer textarea{min-height:48px;font-size:1rem}
  .composer button{height:48px}
}

/* V7 — alineación estricta: una misma columna para pregunta y opciones */
.messages{
  padding-left:max(24px,calc((100% - 930px)/2));
  padding-right:max(24px,calc((100% - 930px)/2));
  padding-top:22px;
}
.messages::-webkit-scrollbar{width:0;height:0}
.messages{scrollbar-width:none}
.msg,.option-message{gap:12px;align-items:flex-end}
.bubble,
.option-card{
  width:min(870px,calc(100% - 52px));
  max-width:min(870px,calc(100% - 52px));
  margin:0;
}
.bubble{
  min-height:96px;
  padding:18px 20px;
  font-size:1.05rem;
  line-height:1.55;
}
.option-card{
  padding:18px 18px 17px;
}
.option-card-title{
  margin:0 2px 14px;
  font-size:.96rem;
}
.option-list{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  width:100%;
}
.option-btn{
  width:100%;
  min-height:52px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:11px 14px;
  text-align:center;
  font-size:.96rem;
  line-height:1.18;
}
@media (min-width:1100px){
  .chat-card{width:min(1080px,100%)}
}
@media (max-width:760px){
  .messages{padding:16px 14px 20px}
  .bubble,.option-card{width:calc(100% - 48px);max-width:calc(100% - 48px)}
  .bubble{min-height:0;padding:14px 15px;font-size:1rem}
  .option-card{padding:14px}
  .option-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .option-btn{min-height:48px;padding:9px 8px;font-size:.9rem}
}
@media (max-width:430px){
  .option-list{grid-template-columns:1fr}
  .option-btn{min-height:46px;justify-content:flex-start;padding-left:13px;text-align:left}
}

/* V8 — inicio completo visible: conserva el ancho alineado y evita perder la primera pregunta */
@media (min-width: 761px){
  .messages{
    padding-top:16px;
    padding-bottom:16px;
  }
  .msg{margin-bottom:12px}
  .option-message{margin-bottom:12px}
  .bubble{
    min-height:0;
    padding:14px 18px;
    line-height:1.45;
  }
  .time{margin-top:5px}
  .option-card{padding:14px 18px 14px}
  .option-card-title{margin-bottom:10px}
  .option-list{gap:8px}
  .option-btn{min-height:46px;padding:9px 12px}
}

/* Contacto: el usuario llena el formulario, no escribe datos en el chat */
.composer.composer-locked{opacity:.72}.composer.composer-locked textarea{background:#f4efe5;cursor:not-allowed}.composer.composer-locked button{cursor:not-allowed;filter:grayscale(.25)}
.receipt-card{margin-top:2px;padding:2px 0}.receipt-card strong{display:block}.receipt-card p{margin:8px 0;line-height:1.45}.receipt-code{display:inline-flex;margin-top:9px;padding:5px 9px;border-radius:999px;background:#edf6f1;color:#0d6657;font-size:.78rem;font-weight:850}.receipt-copy{margin-top:8px;border:1px solid #82b3a5;border-radius:10px;padding:8px 10px;background:#fff;color:#0d6657;font-weight:850;cursor:pointer}
.panel-badge{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:#c63b2b;color:#fff;font-size:.66rem;font-weight:900;line-height:1;margin-left:4px}

.receipt-card{display:grid;gap:8px}.receipt-card strong{font-size:1rem;color:var(--green)}.receipt-code{display:inline-flex;width:max-content;border-radius:999px;background:#eef6f2;color:var(--green);padding:5px 9px;font-size:.79rem;font-weight:900}.receipt-card p{margin:0;line-height:1.5}.receipt-download{justify-self:start;border:0;border-radius:11px;background:var(--green);color:#fff;padding:10px 13px;font:inherit;font-size:.86rem;font-weight:900;cursor:pointer}.receipt-download:hover{filter:brightness(.96)}.receipt-download:focus-visible{outline:3px solid #b9dacd;outline-offset:2px}
