.broker-ai-toggle { white-space: nowrap; }
.broker-ai-panel {
  position: fixed; z-index: 1000; right: 22px; bottom: 22px;
  display: flex; flex-direction: column; width: min(420px, calc(100vw - 28px));
  height: min(590px, calc(100dvh - 44px)); background: #fff; color: #172a38;
  border: 1px solid #d5dee7; border-radius: 18px;
  box-shadow: 0 22px 70px rgba(22, 43, 59, .22); overflow: hidden;
}
.broker-ai-panel[hidden] { display: none; }
.broker-ai-heading { display: flex; justify-content: space-between; align-items: center; padding: 16px 18px; background: #12334b; color: #fff; }
.broker-ai-heading strong { display: block; font-size: 1.05rem; }
.broker-ai-heading small { display: block; opacity: .85; font-size: .75rem; margin-top: 3px; }
.broker-ai-close { border: 0; background: transparent; color: #fff; font-size: 1.6rem; cursor: pointer; padding: 0 4px; }
.broker-ai-messages { flex: 1; overflow-y: auto; display: flex; flex-direction: column; gap: 10px; padding: 18px; background: #f7f9fb; }
.broker-ai-message { max-width: 94%; padding: 10px 13px; border-radius: 13px; line-height: 1.45; white-space: pre-wrap; overflow-wrap: anywhere; font-size: .9rem; }
.broker-ai-assistant { align-self: flex-start; background: white; border: 1px solid #e2e8ed; }
.broker-ai-user { align-self: flex-end; color: white; background: #205778; }
.broker-ai-error { align-self: flex-start; color: #9a2f25; background: #fff0ee; }
.broker-ai-waiting { color: #5a6974; font-size: .84rem; }
.broker-ai-form { padding: 13px; border-top: 1px solid #e2e8ed; background: white; display: grid; gap: 8px; }
.broker-ai-form label { font-size: .78rem; font-weight: 700; }
.broker-ai-form textarea { width: 100%; box-sizing: border-box; resize: vertical; min-height: 62px; max-height: 150px; border: 1px solid #bacbd6; border-radius: 8px; padding: 9px; font: inherit; }
.broker-ai-form button { justify-self: end; }
@media (max-width: 600px) { .broker-ai-panel { right: 14px; bottom: 14px; } }
