.halo-public .halo-chat { --chat-accent: #b31551; position: fixed; z-index: 1040; right: 22px; bottom: 22px; font-size: 14px; line-height: 1.6; }
.halo-public .halo-chat [hidden] { display: none !important; }
.halo-public .halo-chat-launcher { display: inline-flex; align-items: center; gap: 10px; min-height: 54px; padding: 13px 19px; color: white; border: 1px solid #ffffff4d; border-radius: 18px; background: var(--chat-accent); box-shadow: 0 6px 24px #70123f26; font: 600 13px/1.4 Poppins,system-ui,sans-serif; }
.halo-public .halo-chat-launcher i { font-size: 23px; }
.halo-public .halo-chat-panel { position: absolute; right: 0; bottom: 70px; width: 380px; max-width: calc(100vw - 32px); max-height: min(650px, calc(100dvh - 110px)); height: 600px; display: flex; flex-direction: column; background: white; border: 1px solid #eadde4; border-radius: 22px; box-shadow: 0 16px 60px #42203429; overflow: hidden; }
.halo-public .halo-chat-header { display: flex; align-items: center; flex-shrink: 0; gap: 12px; padding: 18px; background: #fff2f7; border-bottom: 1px solid #eadde4; }
.halo-public .halo-chat-avatar { display: flex; width: 42px; height: 42px; align-items: center; justify-content: center; border-radius: 14px; color: white; background: var(--chat-accent); font-size: 21px; }
.halo-public .halo-chat-header strong { display: block; color: #4b2338; font-size: 14px; }
.halo-public .halo-chat-header div > span { display: block; color: #735766; font-size: 11px; margin-top: 2px; }
.halo-public .halo-chat-header button { margin-left: auto; flex-shrink: 0; width: 36px; height: 36px; background: #fff; border: 1px solid #eadde4; border-radius: 11px; color: #765061; }
.halo-public .halo-chat-messages { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 18px 16px; display: flex; flex-direction: column; gap: 14px; background: #fff; }
.halo-public .halo-chat-message { max-width: 92%; padding: 12px 14px; border-radius: 15px 15px 15px 4px; background: #f7f3f6; color: #3d303a; white-space: pre-wrap; overflow-wrap: anywhere; }
.halo-public .halo-chat-message.is-user { align-self: flex-end; background: var(--chat-accent); color: white; border-radius: 15px 15px 4px 15px; }
.halo-public .halo-chat-message.is-loading { color: #76606f; font-size: 12px; }
.halo-public .halo-chat-source { display: block; margin-top: 9px; color: #9d1049; font-size: 11px; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.halo-public .halo-chat-suggestions { padding: 0 16px 10px; display: flex; gap: 6px; flex-wrap: wrap; }
.halo-public .halo-chat-suggestions button { background: #fff; color: #8f204f; border: 1px solid #e8c9d6; border-radius: 20px; padding: 7px 10px; min-height: 34px; font: 500 11px/1.4 Poppins,system-ui,sans-serif; }
.halo-public .halo-chat-actions { display: flex; gap: 8px; padding: 9px 16px; border-top: 1px solid #f0e7ec; }
.halo-public .halo-chat-actions a { flex: 1; text-align: center; border-radius: 9px; padding: 8px 6px; border: 1px solid #eadde4; color: #8f204f; text-decoration: none; font-size: 12px; font-weight: 500; }
.halo-public .halo-chat-privacy { flex-shrink: 0; margin: 0; padding: 0 16px 10px; color: #796d77; font-size: 10px; line-height: 1.5; }
.halo-public .halo-chat-form { display: flex; gap: 9px; align-items: center; padding: 13px 14px; border-top: 1px solid #eadde4; background: #fff; flex-shrink: 0; }
.halo-public .halo-chat-form input { flex: 1; min-width: 0; height: 44px; border: 1px solid #e6d7df; border-radius: 12px; padding: 11px 12px; background: #fff; color: #332a33; font: 400 13px Poppins,system-ui,sans-serif; }
.halo-public .halo-chat-form button { flex-shrink: 0; height: 44px; width: 44px; border-radius: 12px; background: var(--chat-accent); color: white; border: 0; }
.halo-public .halo-chat-form button:disabled { opacity: .55; }
@media (max-width: 767px) {
  .halo-public .halo-chat { right: 14px; bottom: max(14px,env(safe-area-inset-bottom)); }
  .halo-public .halo-chat-launcher { border-radius: 18px; height: 54px; width: 54px; padding: 0; justify-content: center; }
  .halo-public .halo-chat-launcher span { display: none; }
  .halo-public .halo-chat-panel { max-height: calc(100dvh - 112px); bottom: 66px; height: 590px; width: min(380px,calc(100vw - 28px)); }
  .halo-public .halo-chat-form input { font-size: 16px; }
}
