#ai-chatbot {
  max-width: 400px;
  border: 1px solid #ddd;
  border-radius: 8px;
  font-family: sans-serif;
}

.chat-box {
  display: flex;
  flex-direction: column;
  height: 400px;
}

.messages {
  flex: 1;
  padding: 10px;
  overflow-y: auto;
  background: #fafafa;
}

.message {
  margin-bottom: 8px;
  padding: 6px 10px;
  border-radius: 6px;
  max-width: 80%;
}

.message.user {
  background: #d1e7ff;
  align-self: flex-end;
}

.message.bot {
  background: #eaeaea;
  align-self: flex-start;
}

.input-row {
  display: flex;
  border-top: 1px solid #ddd;
}

.input-row input {
  flex: 1;
  padding: 10px;
  border: none;
  outline: none;
}

.input-row button {
  padding: 10px 16px;
  border: none;
  background: #0a578c;
  color: #fff;
  cursor: pointer;
}

  #ai-chatbot {
      --chat-primary: #0a578c;
      --chat-primary-hover: #084a75;
      --chat-bg: #ffffff;
      --chat-border: #d1e3ed;
      --chat-text: #1a3a4a;
      --chat-text-light: #5a7a8a;
      --chat-user-bg: #0a578c;
      --chat-user-text: #ffffff;
      --chat-bot-bg: #e8f1f6;
      --chat-bot-text: #1a3a4a;
      font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
      font-size: 14px;
      line-height: 1.5;
    }

    .ai-chat-toggle {
      position: fixed;
      bottom: 100px;
      right: 30px;
      width: 56px;
      height: 56px;
      border-radius: 50%;
      background: var(--chat-primary);
      border: none;
      cursor: pointer;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
      display: flex;
      align-items: center;
      justify-content: center;
      transition: transform 0.2s, background 0.2s;
      z-index: 9998;
    }

    .ai-chat-toggle:hover {
      background: var(--chat-primary-hover);
      transform: scale(1.05);
    }

    .ai-chat-toggle svg {
      width: 28px;
      height: 28px;
      fill: white;
    }

    .ai-chat-window {
      position: fixed;
      bottom: 90px;
      right: 20px;
      width: 380px;
      max-width: calc(100vw - 40px);
      height: 520px;
      max-height: calc(100vh - 120px);
      background: var(--chat-bg);
      border-radius: 16px;
      box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
      display: flex;
      flex-direction: column;
      overflow: hidden;
      z-index: 9999;
      opacity: 0;
      visibility: hidden;
      transform: translateY(20px) scale(0.95);
      transition: opacity 0.3s, transform 0.3s, visibility 0.3s;
    }

    .ai-chat-window.open {
      opacity: 1;
      visibility: visible;
      transform: translateY(0) scale(1);
    }

    .ai-chat-header {
      background: var(--chat-primary);
      color: white;
      padding: 16px 20px;
      display: flex;
      align-items: center;
      justify-content: space-between;
    }

    .ai-chat-header-title {
      font-weight: 600;
      font-size: 16px;
    }

    .ai-chat-header-subtitle {
      font-size: 12px;
      opacity: 0.85;
      margin-top: 2px;
    }

    .ai-chat-close {
      background: rgba(255,255,255,0.2);
      border: none;
      color: white;
      width: 32px;
      height: 32px;
      border-radius: 50%;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: background 0.2s;
    }

    .ai-chat-close:hover {
      background: rgba(255,255,255,0.3);
    }

    .ai-chat-messages {
      flex: 1;
      overflow-y: auto;
      padding: 16px;
      display: flex;
      flex-direction: column;
      gap: 12px;
    }

    .ai-chat-message {
      max-width: 80%;
      padding: 10px 14px;
      border-radius: 16px;
      word-wrap: break-word;
    }

    .ai-chat-message.user {
      align-self: flex-end;
      background: var(--chat-user-bg);
      color: var(--chat-user-text);
      border-bottom-right-radius: 4px;
    }

    .ai-chat-message.bot {
      align-self: flex-start;
      background: var(--chat-bot-bg);
      color: var(--chat-bot-text);
      border-bottom-left-radius: 4px;
    }

    .ai-chat-message-time {
      font-size: 10px;
      color: var(--chat-text-light);
      margin-top: 4px;
      opacity: 0.7;
    }

    .ai-chat-message.user .ai-chat-message-time {
      color: rgba(255,255,255,0.7);
      text-align: right;
    }

    .ai-chat-typing {
      align-self: flex-start;
      background: var(--chat-bot-bg);
      padding: 12px 16px;
      border-radius: 16px;
      border-bottom-left-radius: 4px;
      display: none;
    }

    .ai-chat-typing.visible {
      display: flex;
      gap: 4px;
    }

    .ai-chat-typing span {
      width: 8px;
      height: 8px;
      background: var(--chat-text-light);
      border-radius: 50%;
      animation: typing 1.4s infinite;
    }

    .ai-chat-typing span:nth-child(2) { animation-delay: 0.2s; }
    .ai-chat-typing span:nth-child(3) { animation-delay: 0.4s; }

    @keyframes typing {
      0%, 60%, 100% { transform: translateY(0); opacity: 0.4; }
      30% { transform: translateY(-4px); opacity: 1; }
    }

    .ai-chat-input-row {
      padding: 12px 16px;
      border-top: 1px solid var(--chat-border);
      display: flex;
      gap: 8px;
      background: var(--chat-bg);
    }

    .ai-chat-input {
      flex: 1;
      border: 1px solid var(--chat-border);
      border-radius: 24px;
      padding: 10px 16px;
      font-size: 14px;
      outline: none;
      transition: border-color 0.2s;
    }

    .ai-chat-input:focus {
      border-color: var(--chat-primary);
    }

    .ai-chat-send {
      width: 40px;
      height: 40px;
      border-radius: 50%;
      background: var(--chat-primary);
      border: none;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      transition: background 0.2s, transform 0.2s;
    }

    .ai-chat-send:hover {
      background: var(--chat-primary-hover);
      transform: scale(1.05);
    }

    .ai-chat-send:disabled {
      background: var(--chat-border);
      cursor: not-allowed;
      transform: none;
    }

    .ai-chat-send svg {
      width: 18px;
      height: 18px;
      fill: white;
    }