.bot-container, .bot-container *, #bot-toggle { box-sizing: border-box; font-family: Arial, sans-serif; }
#bot-toggle { position: fixed; bottom: max(18px, env(safe-area-inset-bottom)); right: 18px; display: inline-flex; align-items: center; gap: 8px; min-height: 46px; padding: 10px 16px; border: 1px solid #ffffff60; border-radius: 28px; background: #096bab; color: #fff; font-size: 14px; font-weight: bold; box-shadow: 0 4px 16px #173d5e33; z-index: 99998; cursor: pointer; }
#bot-toggle span { font-size: 25px; line-height: 1; }
#bot-toggle:hover { background: #07578d; }
.bot-container { position: fixed; bottom: 80px; right: 20px; width: 400px; max-width: calc(100% - 24px); height: min(580px, calc(100dvh - 100px)); display: flex; flex-direction: column; background: #fff; border: 1px solid #d6e4ec; border-radius: 18px; box-shadow: 0 12px 48px #183d5c33; z-index: 99999; overflow: hidden; visibility: hidden; opacity: 0; transform: translateY(12px); transition: opacity .18s, transform .18s, visibility .18s; }
.bot-container.open { visibility: visible; opacity: 1; transform: none; }
.navigator-header { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 14px 16px; flex: 0 0 auto; background: linear-gradient(115deg, #096bab, #18547b); color: #fff; }
.navigator-header h2 { margin: 0; font-size: 17px; line-height: 1.3; }
.navigator-header p { margin: 5px 0 0; font-size: 12px; color: #d6eafa; }
#bot-close { flex: 0 0 44px; height: 44px; border: 1px solid #ffffff45; border-radius: 12px; background: #ffffff12; color: #fff; font-size: 28px; cursor: pointer; }
#bot-close:hover { background: #ffffff30; }
#chat-messages { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 14px; background: #f4f8fb; font-size: 14px; line-height: 1.55; overflow-wrap: anywhere; scrollbar-width: thin; }
.navigator-message { margin: 0 0 12px; padding: 12px 14px; background: #fff; border: 1px solid #e0e9f0; border-radius: 4px 14px 14px; }
.navigator-message.from-user { margin-left: 28px; background: #e4f1fa; border-color: #d2e5f2; border-radius: 14px 4px 14px 14px; }
#chat-messages a { display: inline-block; max-width: 100%; padding: 10px 0; color: #075e99; font-weight: bold; text-decoration: none; }
#chat-messages a:hover { text-decoration: underline; }
#quick-actions { flex: 0 0 auto; display: flex; gap: 8px; padding: 10px 14px; border-top: 1px solid #e3ebf1; }
.action-btn { min-height: 40px; padding: 8px 22px; border: 1px solid #c5deef; border-radius: 22px; background: #edf6fc; color: #115c8c; font-size: 14px; font-weight: bold; cursor: pointer; }
.action-btn:hover { background: #dceefb; }
.navigator-search { display: flex; align-items: center; gap: 8px; flex: 0 0 auto; padding: 10px 14px 14px; margin: 0; }
#chat-input { flex: 1 1 auto; min-width: 0; width: 100%; height: 46px; padding: 10px 12px; border: 1px solid #bccfdd; border-radius: 10px; background: #fff; color: #233d50; font-size: 16px; }
#chat-input::placeholder { color: #627989; }
#chat-send { flex: 0 0 auto; height: 46px; padding: 10px 14px; border: 0; border-radius: 10px; background: #096bab; color: #fff; font-size: 14px; font-weight: bold; cursor: pointer; }
.bot-container :focus-visible, #bot-toggle:focus-visible { outline: 3px solid #e99928; outline-offset: -3px; }
@media (max-width: 620px) {
  #bot-toggle { right: 12px; bottom: calc(12px + env(safe-area-inset-bottom)); max-width: calc(100% - 24px); padding: 9px 14px; font-size: 13px; }
  .bot-container { left: 12px; right: 12px; width: auto; max-width: none; bottom: calc(var(--navigator-bottom, 0px) + 12px + env(safe-area-inset-bottom)); height: min(640px, calc(var(--navigator-height, 100dvh) - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom))); border-radius: 18px; }
  .navigator-header { padding: 10px 12px; }
  #chat-messages { padding: 10px; }
  .navigator-message { padding: 10px 12px; }
  #quick-actions { padding: 8px 10px; }
  .navigator-search { padding: 4px 10px 10px; gap: 6px; }
  #chat-send { padding: 10px 12px; }
}
@media (prefers-reduced-motion: reduce) { .bot-container { transition: none; } }
