/* HeaterFleet concierge chat widget — floating bubble, bottom-right.
   POSTs to /api/concierge/chat. Graceful when the concierge is off. */
.hf-bubble{position:fixed;right:18px;bottom:18px;z-index:200;width:60px;height:60px;border-radius:50%;
  background:linear-gradient(90deg,#3E7BFF,#8B5CF6,#B563FF);border:0;cursor:pointer;color:#fff;
  font-size:1.5rem;display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 30px rgba(139,92,246,.5)}
.hf-bubble .hf-dot{position:absolute;top:2px;right:2px;width:14px;height:14px;border-radius:50%;
  background:#34d399;border:2px solid #0D0C1C}
.hf-panel{position:fixed;right:18px;bottom:90px;z-index:200;width:min(380px,calc(100vw - 36px));
  height:min(520px,calc(100dvh - 130px));background:#12122a;border:1px solid rgba(139,92,246,.35);
  border-radius:18px;display:none;flex-direction:column;overflow:hidden;
  box-shadow:0 20px 60px rgba(0,0,0,.6)}
.hf-panel.open{display:flex}
.hf-head{background:linear-gradient(90deg,#3E7BFF,#8B5CF6);padding:.9rem 1.1rem;color:#fff}
.hf-head b{font-size:1rem}
.hf-head p{font-size:.82rem;opacity:.9;margin-top:.15rem}
.hf-head .hf-x{float:right;background:transparent;border:0;color:#fff;font-size:1.2rem;cursor:pointer;padding:.2rem .5rem}
.hf-msgs{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.6rem}
.hf-m{max-width:85%;padding:.65rem .9rem;border-radius:14px;font-size:.93rem;line-height:1.45}
.hf-m.helper{background:#1B1840;border:1px solid rgba(139,92,246,.25);align-self:flex-start;border-bottom-left-radius:4px}
.hf-m.me{background:linear-gradient(90deg,#3E7BFF,#8B5CF6);color:#fff;align-self:flex-end;border-bottom-right-radius:4px}
.hf-m.typing{color:#A5B4FF;font-style:italic}
.hf-input{display:flex;gap:.5rem;padding:.7rem;border-top:1px solid rgba(139,92,246,.25);background:#0D0C1C}
.hf-input input{flex:1;background:#1B1840;border:1.5px solid #232055;border-radius:12px;color:#fff;
  padding:.75rem .9rem;font-size:1rem;min-height:48px}
.hf-input input:focus{outline:none;border-color:#8B5CF6}
.hf-input button{background:linear-gradient(90deg,#3E7BFF,#8B5CF6);border:0;border-radius:12px;color:#fff;
  font-weight:700;padding:.75rem 1.1rem;cursor:pointer;min-height:48px}
@media(max-width:480px){.hf-bubble{right:14px;bottom:96px}.hf-panel{right:14px;bottom:168px}}
