@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&display=swap');
:root{--ffc-navy:#0d1f3c;--ffc-navy2:#1a3a6e;--ffc-gold:#c9a84c;--ffc-gold-light:#e8c96a;--ffc-white:#ffffff;--ffc-light:#f5f7fa;--ffc-border:#e1e6ef;--ffc-text:#1a2a4a;--ffc-muted:#6b7a99;--ffc-radius:16px;--ffc-shadow:0 8px 40px rgba(13,31,60,0.18)}

#ffc-launcher{
  position:fixed !important;
  bottom:110px !important;
  right:16px !important;
  width:60px !important;
  height:60px !important;
  border-radius:50% !important;
  background:linear-gradient(135deg,#0d1f3c 60%,#1a3a6e) !important;
  border:2.5px solid #c9a84c !important;
  box-shadow:0 4px 24px rgba(13,31,60,0.28) !important;
  cursor:pointer !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  z-index:2147483647 !important;
  transition:transform 0.2s ease !important;
  padding:0 !important;
  margin:0 !important;
}
#ffc-launcher:hover{transform:scale(1.08) !important}
#ffc-launcher svg{width:26px;height:26px;fill:#c9a84c}
#ffc-launcher.open svg.icon-chat{display:none}
#ffc-launcher:not(.open) svg.icon-close{display:none}

#ffc-widget{
  position:fixed !important;
  bottom:185px !important;
  right:16px !important;
  width:360px;
  max-height:560px;
  background:var(--ffc-white);
  border-radius:var(--ffc-radius);
  box-shadow:var(--ffc-shadow);
  display:flex;
  flex-direction:column;
  z-index:2147483646 !important;
  font-family:'DM Sans',sans-serif;
  border:1px solid var(--ffc-border);
  transform:scale(0.92) translateY(16px);
  opacity:0;
  pointer-events:none;
  transition:transform 0.25s cubic-bezier(0.34,1.56,0.64,1),opacity 0.2s ease;
}
#ffc-widget.open{transform:scale(1) translateY(0) !important;opacity:1 !important;pointer-events:all !important}

#ffc-header{background:linear-gradient(120deg,var(--ffc-navy) 70%,#1a3a6e);border-radius:var(--ffc-radius) var(--ffc-radius) 0 0;padding:16px 18px;display:flex;align-items:center;gap:12px}
#ffc-header-avatar{width:42px;height:42px;border-radius:50%;background:var(--ffc-gold);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:var(--ffc-navy);flex-shrink:0}
#ffc-header-info h3{margin:0;font-size:14.5px;font-weight:600;color:#fff}
#ffc-header-info p{margin:2px 0 0;font-size:11.5px;color:var(--ffc-gold-light);opacity:0.9}
#ffc-status-dot{width:7px;height:7px;background:#4ade80;border-radius:50%;display:inline-block;margin-right:5px;vertical-align:middle}
#ffc-messages{flex:1;overflow-y:auto;padding:14px 13px 10px;display:flex;flex-direction:column;gap:10px;background:var(--ffc-light);min-height:260px;max-height:340px}
#ffc-messages::-webkit-scrollbar{width:4px}
#ffc-messages::-webkit-scrollbar-thumb{background:var(--ffc-border);border-radius:2px}
.ffc-msg{max-width:88%;padding:10px 13px;border-radius:12px;font-size:13.5px;line-height:1.55;animation:ffc-pop 0.2s ease;word-break:break-word}
@keyframes ffc-pop{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.ffc-msg.bot{background:var(--ffc-white);color:var(--ffc-text);border:1px solid var(--ffc-border);align-self:flex-start;border-bottom-left-radius:4px;box-shadow:0 1px 4px rgba(13,31,60,0.06)}
.ffc-msg.user{background:var(--ffc-navy);color:#fff;align-self:flex-end;border-bottom-right-radius:4px}
.ffc-typing{display:flex;align-items:center;gap:5px;padding:10px 13px;background:var(--ffc-white);border:1px solid var(--ffc-border);border-radius:12px;border-bottom-left-radius:4px;align-self:flex-start;width:fit-content}
.ffc-typing span{width:7px;height:7px;background:var(--ffc-gold);border-radius:50%;display:inline-block;animation:ffc-bounce 1.2s infinite}
.ffc-typing span:nth-child(2){animation-delay:0.2s}
.ffc-typing span:nth-child(3){animation-delay:0.4s}
@keyframes ffc-bounce{0%,60%,100%{transform:translateY(0);opacity:0.6}30%{transform:translateY(-5px);opacity:1}}
#ffc-input-area{padding:11px 13px 13px;background:var(--ffc-white);border-top:1px solid var(--ffc-border);border-radius:0 0 var(--ffc-radius) var(--ffc-radius);display:flex;gap:8px;align-items:flex-end}
#ffc-input{flex:1;border:1.5px solid var(--ffc-border);border-radius:10px;padding:9px 12px;font-family:'DM Sans',sans-serif;font-size:13.5px;color:var(--ffc-text);background:var(--ffc-light);resize:none;outline:none;min-height:40px;max-height:100px;line-height:1.4;transition:border-color 0.15s}
#ffc-input:focus{border-color:var(--ffc-gold);background:var(--ffc-white)}
#ffc-input::placeholder{color:var(--ffc-muted)}
#ffc-send{width:40px;height:40px;border-radius:10px;background:var(--ffc-navy);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background 0.15s,transform 0.1s}
#ffc-send:hover{background:#1a3a6e}
#ffc-send:active{transform:scale(0.94)}
#ffc-send:disabled{opacity:0.5;cursor:not-allowed}
#ffc-send svg{width:17px;height:17px;fill:var(--ffc-gold)}
#ffc-footer-brand{text-align:center;font-size:11px;color:var(--ffc-muted);padding:0 14px 10px;background:var(--ffc-white);border-radius:0 0 var(--ffc-radius) var(--ffc-radius)}
#ffc-footer-brand a{color:var(--ffc-gold);text-decoration:none;font-weight:500}

@media(max-width:440px){
  #ffc-widget{width:calc(100vw - 20px);right:10px !important;bottom:180px !important}
  #ffc-launcher{right:10px !important;bottom:108px !important}
}
