/* =========================================================
   LabChat AI Widget v3.0  –  Fix: launcher always visible
   ========================================================= */
#lc-root *{box-sizing:border-box;font-family:'Segoe UI',-apple-system,BlinkMacSystemFont,sans-serif}

/* ── Launcher button ── FIXED POSITION DIRECTLY ── */
#lc-btn{
  position:fixed; bottom:28px; right:28px;   /* DEFAULT: bottom-right */
  width:64px; height:64px; border-radius:50%;
  background:linear-gradient(135deg,var(--lc-c,#00b4d8),var(--lc-cd,#0077b6));
  box-shadow:0 8px 32px rgba(0,180,216,.45);
  cursor:pointer; border:none; z-index:2147483647;  /* max z-index */
  display:flex; align-items:center; justify-content:center;
  transition:transform .25s,box-shadow .25s;
  padding:0; outline:none;
}
#lc-btn:hover{transform:scale(1.1);box-shadow:0 12px 40px rgba(0,180,216,.65)}
#lc-btn::before{
  content:''; position:absolute; width:100%; height:100%; border-radius:50%;
  border:2px solid var(--lc-c,#00b4d8); animation:lc-pulse 2s infinite; pointer-events:none;
}
@keyframes lc-pulse{0%{transform:scale(1);opacity:1}100%{transform:scale(1.65);opacity:0}}
#lc-btn svg{width:30px;height:30px;fill:#fff;pointer-events:none}

/* Position variants – applied via JS */
#lc-root.lc-bl #lc-btn{right:auto;left:28px}

/* Badge */
#lc-bdg{
  position:absolute; top:-4px; right:-4px;
  background:#ff4757; color:#fff; font-size:10px; font-weight:700;
  width:20px; height:20px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  border:2px solid #fff; pointer-events:none; line-height:1;
}

/* ── Chat Window ── */
#lc-win{
  position:fixed; bottom:108px; right:28px; z-index:2147483646;
  width:400px; height:620px; background:#13151e; border-radius:20px;
  box-shadow:0 24px 80px rgba(0,0,0,.6);
  border:1px solid rgba(255,255,255,.07);
  display:flex; flex-direction:column; overflow:hidden;
  transform:scale(.85) translateY(28px); opacity:0; pointer-events:none;
  transition:transform .3s cubic-bezier(.34,1.56,.64,1),opacity .25s ease;
}
#lc-win.lc-open{transform:scale(1) translateY(0);opacity:1;pointer-events:all}
#lc-root.lc-bl #lc-win{right:auto;left:28px}

/* ── Header ── */
.lc-hdr{
  background:linear-gradient(135deg,var(--lc-cd,#0077b6),var(--lc-c,#00b4d8));
  padding:15px 18px; display:flex; align-items:center; gap:12px; flex-shrink:0;
}
.lc-hav{
  width:44px; height:44px; border-radius:50%; flex-shrink:0;
  background:rgba(255,255,255,.18); display:flex; align-items:center;
  justify-content:center; font-size:20px; border:2px solid rgba(255,255,255,.35);
}
.lc-hi h3{color:#fff;font-size:15px;font-weight:700;margin:0}
.lc-hi p{color:rgba(255,255,255,.75);font-size:12px;margin:2px 0 0;display:flex;align-items:center;gap:4px}
.lc-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;animation:lc-blink 1.5s infinite}
.lc-dot.lc-on{background:#2ecc71}
.lc-dot.lc-off{background:#ff4757}
@keyframes lc-blink{0%,100%{opacity:1}50%{opacity:.3}}
.lc-x{
  margin-left:auto; background:rgba(255,255,255,.15); border:none;
  color:#fff; width:32px; height:32px; border-radius:50%; cursor:pointer;
  font-size:17px; display:flex; align-items:center; justify-content:center;
  transition:background .2s;
}
.lc-x:hover{background:rgba(255,255,255,.3)}

/* ── Tabs ── */
.lc-tabs{
  display:flex; background:#0d0f18; flex-shrink:0;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.lc-tab{
  flex:1; padding:10px 6px; font-size:12px; font-weight:600;
  color:#666; background:none; border:none; cursor:pointer;
  border-bottom:2px solid transparent; transition:all .2s;
}
.lc-tab.lc-tab-on{color:var(--lc-c,#00b4d8);border-bottom-color:var(--lc-c,#00b4d8)}

/* ── Messages ── */
.lc-msgs{
  flex:1; overflow-y:auto; padding:14px;
  display:flex; flex-direction:column; gap:12px; scroll-behavior:smooth;
}
.lc-msgs::-webkit-scrollbar{width:4px}
.lc-msgs::-webkit-scrollbar-thumb{background:#2a2d3a;border-radius:4px}
.lc-m{display:flex;gap:8px;animation:lc-mi .28s ease}
@keyframes lc-mi{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.lc-m.lc-u{flex-direction:row-reverse}
.lc-ma{
  width:30px;height:30px;border-radius:50%;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  font-size:14px;background:#1e2030;margin-top:2px;
}
.lc-m.lc-b .lc-ma{background:linear-gradient(135deg,var(--lc-cd,#0077b6),var(--lc-c,#00b4d8))}
.lc-m.lc-u .lc-ma{background:linear-gradient(135deg,#7c3aed,#a855f7)}
.lc-mb{
  max-width:78%;padding:10px 14px;border-radius:16px;
  font-size:13.5px;line-height:1.58;word-break:break-word;
}
.lc-m.lc-b .lc-mb{background:#1e2030;color:#e2e8f0;border-top-left-radius:4px;border:1px solid rgba(255,255,255,.07)}
.lc-m.lc-u .lc-mb{background:linear-gradient(135deg,var(--lc-cd,#0077b6),var(--lc-c,#00b4d8));color:#fff;border-top-right-radius:4px}
.lc-mt{font-size:10px;color:#555;margin-top:3px}

/* Typing dots */
.lc-dots{display:flex;gap:4px;align-items:center;padding:2px 0}
.lc-dots span{width:7px;height:7px;background:var(--lc-c,#00b4d8);border-radius:50%;animation:lc-bo .8s infinite}
.lc-dots span:nth-child(2){animation-delay:.16s}
.lc-dots span:nth-child(3){animation-delay:.32s}
@keyframes lc-bo{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}

/* ── Quick Replies ── */
.lc-qrs{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 10px;flex-shrink:0}
.lc-qr{
  background:transparent;border:1px solid rgba(0,180,216,.35);
  color:var(--lc-c,#00b4d8);padding:5px 11px;border-radius:18px;
  font-size:11.5px;cursor:pointer;transition:all .2s;white-space:nowrap;
}
.lc-qr:hover{background:rgba(0,180,216,.1)}

/* ── Input area ── */
.lc-ia{
  padding:11px 14px;border-top:1px solid rgba(255,255,255,.05);
  background:#0d0f18;display:flex;gap:8px;align-items:flex-end;flex-shrink:0;
}
.lc-inp{
  flex:1;background:#1e2030;border:1px solid rgba(255,255,255,.1);
  color:#e2e8f0;border-radius:12px;padding:10px 14px;
  font-size:13.5px;resize:none;max-height:100px;outline:none;
  transition:border-color .2s;font-family:inherit;line-height:1.4;
}
.lc-inp:focus{border-color:var(--lc-c,#00b4d8)}
.lc-inp::placeholder{color:#454658}
.lc-send{
  width:40px;height:40px;flex-shrink:0;
  background:linear-gradient(135deg,var(--lc-cd,#0077b6),var(--lc-c,#00b4d8));
  border:none;border-radius:10px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;transition:transform .2s;
}
.lc-send:hover{transform:scale(1.06)}
.lc-send svg{width:18px;height:18px;fill:#fff}
.lc-send:disabled{opacity:.5;cursor:not-allowed}

/* ── Panel / Lead form ── */
.lc-pnl{flex:1;overflow:hidden}
.lc-pnl-chat{display:flex;flex-direction:column}
.lc-form-wrap{padding:18px;display:flex;flex-direction:column;gap:12px;overflow-y:auto;height:100%}
.lc-fhdr h4{color:var(--lc-c,#00b4d8);font-size:14px;font-weight:700;margin:0 0 4px}
.lc-fhdr p{color:#888;font-size:12px;margin:0}
.lc-fg{display:flex;flex-direction:column;gap:4px}
.lc-fg label{color:#aaa;font-size:12px;font-weight:600}
.lc-fi{
  background:#1e2030;border:1px solid rgba(255,255,255,.1);
  color:#e2e8f0;border-radius:10px;padding:9px 13px;
  font-size:13px;outline:none;transition:border-color .2s;font-family:inherit;width:100%;
}
.lc-fi:focus{border-color:var(--lc-c,#00b4d8)}
.lc-ck-label{display:flex;gap:8px;align-items:flex-start;cursor:pointer;color:#aaa;font-size:12px;line-height:1.5}
.lc-ck-label input{margin-top:2px;flex-shrink:0}
.lc-sbtn{
  background:linear-gradient(135deg,var(--lc-cd,#0077b6),var(--lc-c,#00b4d8));
  color:#fff;border:none;border-radius:12px;padding:13px;
  font-size:14px;font-weight:700;cursor:pointer;width:100%;transition:opacity .2s;
}
.lc-sbtn:hover{opacity:.9}
.lc-sbtn:disabled{opacity:.6;cursor:not-allowed}
.lc-suc{
  background:rgba(46,204,113,.1);border:1px solid rgba(46,204,113,.3);
  color:#2ecc71;padding:12px;border-radius:10px;font-size:13px;text-align:center;
}

/* ── Offline banner ── */
.lc-offline-bar{
  background:rgba(255,71,87,.1);border-bottom:1px solid rgba(255,71,87,.2);
  color:#ff6b7a;font-size:12px;padding:8px 16px;text-align:center;flex-shrink:0;
}

/* ── Mobile ── */
@media(max-width:480px){
  #lc-win{width:calc(100vw - 16px)!important;height:72vh}
  #lc-root.lc-bl #lc-win{left:8px}
  #lc-btn{bottom:16px;right:16px}
  #lc-root.lc-bl #lc-btn{right:auto;left:16px}
}
/* ── Suggested links as direct hyperlinks ── */
.lc-suggested-links{
  margin-top:10px;
  font-size:13px;
  line-height:1.5;
}

.lc-suggested-title{
  margin-bottom:6px;
  font-weight:700;
  color:#cbd5e1;
}

.lc-suggested-item{
  margin:3px 0;
}

.lc-suggested-link{
  color:var(--lc-c,#00b4d8);
  text-decoration:underline;
  word-break:break-word;
}

.lc-suggested-link:hover{
  opacity:.9;
}

.lc-m.lc-u .lc-suggested-link{
  color:#ffffff;
}