/* AI Concierge Chatbot - Frontend Styles (v1.4.5) */
:root{
  --ai-concierge-primary:#2563eb;
  --ai-concierge-secondary:#1e40af;
  --ai-concierge-text:#0f172a;
  --ai-concierge-muted:#64748b;
  --ai-concierge-border:rgba(15,23,42,.12);
  --ai-concierge-shadow:0 20px 60px rgba(2,6,23,.18);
  --ai-concierge-radius:18px;
  --ai-concierge-font: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Inter, Arial, "Apple Color Emoji","Segoe UI Emoji";
}
.ai-concierge-launcher{
  position:fixed; z-index:99999;
  width:60px; height:60px; border-radius:999px;
  background:linear-gradient(135deg,var(--ai-concierge-primary),var(--ai-concierge-secondary));
  box-shadow:0 14px 38px rgba(2,6,23,.25);
  border:2px solid rgba(255,255,255,.35);
  display:flex; align-items:center; justify-content:center;
  cursor:pointer;
}
.ai-concierge-launcher img{ width:34px; height:34px; border-radius:10px; object-fit:cover; }
.ai-concierge-launcher .ai-concierge-launcher-icon{
  width:34px; height:34px; border-radius:10px;
  background:rgba(255,255,255,.2);
  display:flex; align-items:center; justify-content:center;
  color:#fff; font-weight:800; font-family:var(--ai-concierge-font);
}
.ai-concierge-pos-bottom-right{ right:22px; bottom:22px; }
.ai-concierge-pos-bottom-left{ left:22px; bottom:22px; }
.ai-concierge-pos-top-right{ right:22px; top:22px; }
.ai-concierge-pos-top-left{ left:22px; top:22px; }

.ai-concierge-panel{
  position:fixed; z-index:99998;
  width:min(420px, calc(100vw - 24px));
  height:min(720px, calc(100vh - 120px));
  background:#fff;
  border-radius:var(--ai-concierge-radius);
  box-shadow:var(--ai-concierge-shadow);
  border:1px solid var(--ai-concierge-border);
  overflow:hidden;
  display:none;
  font-family:var(--ai-concierge-font);
}
.ai-concierge-panel.open{ display:flex; flex-direction:column; }
.ai-concierge-panel.ai-concierge-pos-bottom-right{ right:22px; bottom:96px; }
.ai-concierge-panel.ai-concierge-pos-bottom-left{ left:22px; bottom:96px; }
.ai-concierge-panel.ai-concierge-pos-top-right{ right:22px; top:96px; }
.ai-concierge-panel.ai-concierge-pos-top-left{ left:22px; top:96px; }

.ai-concierge-header{
  padding:14px 16px;
  background:linear-gradient(135deg,var(--ai-concierge-primary),var(--ai-concierge-secondary));
  color:#fff;
  display:flex; align-items:center; justify-content:space-between; gap:12px;
}
.ai-concierge-title{ display:flex; align-items:center; gap:10px; min-width:0; }
.ai-concierge-avatar{
  width:34px; height:34px; border-radius:10px; object-fit:cover;
  background:rgba(255,255,255,.25);
}
.ai-concierge-header h3{
  margin:0; font-size:15px; line-height:1.1; font-weight:800;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.ai-concierge-close{
  width:34px; height:34px; border-radius:12px;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.25);
  color:#fff; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
}

.ai-concierge-messages{
  padding:14px 14px 10px;
  overflow:auto;
  flex:1 1 auto;
  background:linear-gradient(180deg, rgba(2,6,23,.02), rgba(2,6,23,0) 40%);
}
.ai-concierge-bubble{
  max-width:88%;
  padding:12px 12px;
  border-radius:16px;
  margin:10px 0;
  font-size:14px; line-height:1.45;
  color:var(--ai-concierge-text);
  border:1px solid var(--ai-concierge-border);
  background:#fff;
}
.ai-concierge-bubble.bot{ border-top-left-radius:8px; background:rgba(37,99,235,.06); }
.ai-concierge-bubble.user{ margin-left:auto; border-top-right-radius:8px; background:rgba(15,23,42,.04); }

.ai-concierge-input{
  padding:12px;
  border-top:1px solid var(--ai-concierge-border);
  background:#fff;
}
.ai-concierge-input form{ display:flex; gap:10px; align-items:center; }
.ai-concierge-input input[type="text"]{
  flex:1 1 auto;
  border:1px solid var(--ai-concierge-border);
  border-radius:999px;
  padding:12px 14px;
  font-size:14px;
  outline:none;
}
.ai-concierge-input button{
  border:none;
  background:linear-gradient(135deg,var(--ai-concierge-primary),var(--ai-concierge-secondary));
  color:#fff;
  border-radius:999px;
  padding:12px 14px;
  font-weight:800;
  cursor:pointer;
}
.ai-concierge-footer{
  padding:8px 12px;
  font-size:11px;
  color:rgba(100,116,139,.85);
  text-align:center;
  background:#fff;
}
