﻿@import url('https://fonts.googleapis.com/css2?family=Raleway:wght@400;500;600;700&family=Open+Sans:wght@300;400;500&display=swap');
:root {
  --navy:#1a3a5c; --navy-deep:#102540; --blue:#2563a8; --blue-hover:#1d4f8a;
  --blue-light:#ddeaf7; --blue-pale:#f0f6fc; --accent:#3b82c4;
  --white:#fff; --off-white:#f7f9fc; --border:#dde4ed;
  --text:#1a2a3a; --text-mid:#4a5d6e; --text-muted:#8294a3;
  --green:#22c55e; --radius:14px;
}
*{box-sizing:border-box;margin:0;padding:0;}

/* ── Trigger ── */
#ajm-trigger{
  position:fixed;bottom:26px;right:26px;
  width:62px;height:62px;border-radius:50%;
  background:var(--blue);border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 4px 24px rgba(37,99,168,.45),0 2px 6px rgba(0,0,0,.15);
  z-index:99998;transition:transform .2s,background .2s;
}
#ajm-trigger:hover{background:var(--navy);transform:scale(1.07);}
#ajm-dot{
  position:absolute;top:4px;right:4px;
  width:13px;height:13px;background:#e84040;
  border-radius:50%;border:2.5px solid #fff;
  animation:pulse 2s infinite;
}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(232,64,64,.5);}60%{box-shadow:0 0 0 5px rgba(232,64,64,0);}}

/* ── Panel ── */
#ajm-panel{
  position:fixed;bottom:104px;right:26px;
  width:380px;height:590px;
  background:var(--white);border:1px solid var(--border);
  border-radius:var(--radius);
  display:flex;flex-direction:column;
  z-index:99999;overflow:hidden;
  transform:translateY(20px) scale(0.96);opacity:0;pointer-events:none;
  transition:transform .28s cubic-bezier(.34,1.5,.64,1),opacity .22s ease;
  box-shadow:0 16px 56px rgba(26,58,92,.2),0 2px 8px rgba(0,0,0,.08);
}
#ajm-panel.open{transform:translateY(0) scale(1);opacity:1;pointer-events:all;}

/* ── Header ── */
.ajm-header{
  padding:14px 18px;flex-shrink:0;
  background:linear-gradient(135deg,var(--navy-deep) 0%,var(--navy) 60%,#1e4a73 100%);
  display:flex;align-items:center;gap:12px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.ajm-avatar{
  width:42px;height:42px;border-radius:50%;flex-shrink:0;
  background:rgba(255,255,255,.13);
  border:1.5px solid rgba(255,255,255,.28);
  display:flex;align-items:center;justify-content:center;
}
.ajm-avatar span{
  font-family:'Raleway',sans-serif;font-size:11px;
  font-weight:700;color:#fff;letter-spacing:.08em;
}
.ajm-hinfo{flex:1;}
.ajm-hname{
  font-family:'Raleway',sans-serif;font-size:15px;
  font-weight:600;color:#fff;letter-spacing:.02em;
}
.ajm-hsub{
  font-family:'Open Sans',sans-serif;font-size:11px;
  font-weight:300;color:rgba(255,255,255,.6);
  margin-top:2px;display:flex;align-items:center;gap:5px;
}
.ajm-hsub::before{
  content:'';width:7px;height:7px;border-radius:50%;
  background:var(--green);display:inline-block;flex-shrink:0;
}
.ajm-close{
  background:none;border:none;cursor:pointer;
  color:rgba(255,255,255,.55);padding:5px;border-radius:6px;
  display:flex;align-items:center;transition:color .15s;
}
.ajm-close:hover{color:#fff;}

/* ── Welcome card ── */
.ajm-welcome{
  margin:14px 14px 0;padding:13px 14px;
  background:var(--blue-pale);border:1px solid var(--blue-light);
  border-radius:10px;flex-shrink:0;
}
.ajm-welcome p{
  font-family:'Open Sans',sans-serif;font-size:12px;
  color:var(--text-mid);line-height:1.6;
}
.ajm-welcome strong{color:var(--navy);font-weight:600;}

/* ── Messages ── */
.ajm-messages{
  flex:1;overflow-y:auto;
  padding:14px 14px 6px;
  display:flex;flex-direction:column;gap:11px;
  background:var(--off-white);scroll-behavior:smooth;
}
.ajm-messages::-webkit-scrollbar{width:4px;}
.ajm-messages::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px;}

.msg{display:flex;gap:8px;align-items:flex-end;}
.msg.user{flex-direction:row-reverse;}

.msg-av{
  width:28px;height:28px;border-radius:50%;flex-shrink:0;
  background:var(--navy);
  display:flex;align-items:center;justify-content:center;
}
.msg-av span{font-family:'Raleway',sans-serif;font-size:9px;font-weight:700;color:#fff;letter-spacing:.05em;}
.msg-av.uav{background:var(--blue-light);border:1px solid var(--border);}

.msg-bubble{
  max-width:80%;padding:10px 13px;border-radius:14px;
  font-family:'Open Sans',sans-serif;font-size:13px;
  font-weight:400;line-height:1.65;color:var(--text);
}
.msg.bot .msg-bubble{
  background:var(--white);border:1px solid var(--border);
  border-bottom-left-radius:4px;
}
.msg.user .msg-bubble{
  background:var(--blue);color:#fff;
  border-bottom-right-radius:4px;border:none;
}

/* ── Chips ── */
.ajm-chips{
  display:flex;flex-wrap:wrap;gap:6px;
  padding:6px 14px 10px;background:var(--off-white);
}
.chip{
  font-family:'Open Sans',sans-serif;font-size:12px;font-weight:400;
  padding:6px 13px;border-radius:20px;
  border:1.5px solid var(--blue);background:var(--white);color:var(--blue);
  cursor:pointer;transition:background .15s,color .15s,transform .1s;
  white-space:nowrap;
}
.chip:hover{background:var(--blue);color:#fff;transform:translateY(-1px);}

/* ── Typing ── */
.typing .msg-bubble{display:flex;gap:5px;align-items:center;padding:12px 15px;}
.typing .msg-bubble span{
  width:6px;height:6px;border-radius:50%;
  background:var(--text-muted);animation:tb 1.2s infinite;
}
.typing .msg-bubble span:nth-child(2){animation-delay:.2s;}
.typing .msg-bubble span:nth-child(3){animation-delay:.4s;}
@keyframes tb{0%,60%,100%{transform:translateY(0);opacity:.5;}30%{transform:translateY(-5px);opacity:1;}}

/* ── Lead prompt (inline, soft) ── */
.ajm-lead-prompt{
  margin:0 14px;padding:12px 14px;
  background:#fff;border:1.5px solid var(--blue-light);
  border-radius:10px;flex-shrink:0;
}
.ajm-lead-prompt p{
  font-family:'Open Sans',sans-serif;font-size:12.5px;
  color:var(--text-mid);line-height:1.55;margin-bottom:10px;
}
.ajm-lead-prompt strong{color:var(--navy);}
.ajm-lp-btns{display:flex;gap:8px;}
.ajm-lp-yes{
  flex:1;background:var(--navy);border:none;border-radius:7px;
  padding:9px;font-family:'Raleway',sans-serif;font-size:12px;
  font-weight:600;letter-spacing:.06em;color:#fff;cursor:pointer;
  text-transform:uppercase;transition:background .15s;
}
.ajm-lp-yes:hover{background:var(--blue);}
.ajm-lp-no{
  background:none;border:1px solid var(--border);border-radius:7px;
  padding:9px 13px;font-family:'Open Sans',sans-serif;font-size:12px;
  color:var(--text-muted);cursor:pointer;transition:border-color .15s,color .15s;
  white-space:nowrap;
}
.ajm-lp-no:hover{border-color:var(--text-muted);color:var(--text);}

/* ── Lead form ── */
.ajm-lead-form{
  padding:12px 14px;background:var(--blue-pale);
  border-top:1px solid var(--border);
  display:flex;flex-direction:column;gap:7px;flex-shrink:0;
}
.ajm-lead-form label{
  font-family:'Raleway',sans-serif;font-size:11px;font-weight:600;
  color:var(--navy);letter-spacing:.05em;text-transform:uppercase;
}
.ajm-lead-form input,.ajm-lead-form select{
  background:var(--white);border:1px solid var(--border);
  border-radius:7px;padding:9px 12px;
  font-family:'Open Sans',sans-serif;font-size:13px;color:var(--text);
  outline:none;width:100%;transition:border-color .2s;
}
.ajm-lead-form input::placeholder{color:var(--text-muted);}
.ajm-lead-form input:focus,.ajm-lead-form select:focus{border-color:var(--blue);}
.ajm-lead-submit{
  background:var(--navy);border:none;border-radius:7px;padding:10px;
  font-family:'Raleway',sans-serif;font-size:13px;font-weight:600;
  letter-spacing:.07em;color:#fff;cursor:pointer;text-transform:uppercase;
  transition:background .15s;margin-top:2px;
}
.ajm-lead-submit:hover{background:var(--blue);}

/* ── Input bar ── */
.ajm-input-bar{
  padding:10px 12px;background:var(--white);
  border-top:1px solid var(--border);
  display:flex;gap:8px;align-items:flex-end;flex-shrink:0;
}
.ajm-textarea{
  flex:1;background:var(--off-white);border:1px solid var(--border);
  border-radius:9px;padding:9px 12px;
  font-family:'Open Sans',sans-serif;font-size:13px;color:var(--text);
  outline:none;resize:none;max-height:96px;min-height:38px;
  line-height:1.5;transition:border-color .2s;
}
.ajm-textarea::placeholder{color:var(--text-muted);}
.ajm-textarea:focus{border-color:var(--blue);}
.ajm-send{
  width:38px;height:38px;border-radius:9px;
  background:var(--blue);border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  transition:background .15s;
}
.ajm-send:hover{background:var(--navy);}
.ajm-send:disabled{opacity:.4;cursor:not-allowed;}

/* ── Disclaimer ── */
.ajm-disc{
  text-align:center;font-family:'Open Sans',sans-serif;
  font-size:10px;color:var(--text-muted);
  padding:5px 14px 8px;background:var(--white);line-height:1.5;flex-shrink:0;
}

@media(max-width:440px){
  #ajm-panel{width:calc(100vw - 20px);right:10px;bottom:96px;height:72vh;}
}