.ab-chat-fab {
  position: fixed;
  bottom: 80px;
  right: 24px;
  width: 64px;
  height: 64px;
  background: #dc2626;
  color: #fff;
  border-radius: 0;
  border: 3px solid #0a0a0a;
  font-weight: 900;
  text-transform: uppercase;
  font-size: 11px;
  cursor: pointer;
  z-index: 1000;
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}
.ab-chat-fab:hover { background: #0a0a0a; }
@media (max-width: 1024px) { .ab-chat-fab { bottom: 80px; right: 16px; } }

.ab-chat-panel {
  position: fixed;
  bottom: 24px;
  right: 24px;
  width: 380px;
  max-width: calc(100vw - 32px);
  height: 560px;
  max-height: calc(100vh - 48px);
  background: #f1ede4;
  border: 3px solid #0a0a0a;
  display: none;
  flex-direction: column;
  z-index: 1001;
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}
.ab-chat-panel.open { display: flex; }
.ab-chat-header {
  background: #0a0a0a;
  color: #f1ede4;
  padding: 14px 16px;
  font-weight: 900;
  text-transform: uppercase;
  font-size: 12px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.ab-chat-close { background: none; border: none; color: #f1ede4; font-size: 18px; cursor: pointer; }
.ab-chat-disclaimer {
  font-size: 10px;
  padding: 8px 16px;
  background: #dc2626;
  color: #fff;
  font-weight: 700;
  text-transform: uppercase;
}
.ab-chat-log { flex: 1; overflow-y: auto; padding: 16px; display: flex; flex-direction: column; gap: 12px; font-size: 14px; line-height: 1.4; }
.ab-msg { padding: 10px 12px; max-width: 85%; word-wrap: break-word; }
.ab-msg-user { background: #0a0a0a; color: #f1ede4; align-self: flex-end; }
.ab-msg-assistant { background: #fff; border: 2px solid #0a0a0a; align-self: flex-start; }
.ab-msg a { color: inherit; }
.ab-chat-input { display: flex; border-top: 3px solid #0a0a0a; }
.ab-chat-input input { flex: 1; padding: 12px; border: none; background: #fff; font: inherit; font-size: 14px; }
.ab-chat-input input:focus { outline: 2px solid #dc2626; outline-offset: -2px; }
.ab-chat-input button { background: #0a0a0a; color: #f1ede4; border: none; padding: 0 18px; font-weight: 900; text-transform: uppercase; cursor: pointer; }
.ab-chat-input button:disabled { opacity: 0.4; cursor: not-allowed; }
.ab-msg-error { background: #dc2626; color: #fff; padding: 8px; font-size: 12px; }
.ab-typing { font-style: italic; opacity: 0.6; }
