.nav-ai-button { border: 0; cursor: pointer; white-space: nowrap; }
.ai-chat { position: fixed; inset: auto 20px 20px auto; width: min(460px, calc(100% - 32px)); height: min(680px, calc(100dvh - 60px)); max-width: none; max-height: none; margin: 0; padding: 0; border: 1px solid #e1e5ed; border-radius: 18px; background: #fff; color: #293141; box-shadow: 0 16px 70px #15233b33; z-index: 50; overflow: hidden; }
.ai-chat[open] { display: flex; flex-direction: column; animation: preferences-appear .22s ease-out; }
.ai-header { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 20px; border-bottom: 1px solid #edf0f5; background: #fbfaff; }
.ai-header h2 { margin: 0; font: 650 16px Montserrat, Inter, sans-serif; }
.ai-close { width: 28px; height: 28px; padding: 0; border: 0; border-radius: 50%; background: #f0edf7; color: #65547c; font-size: 24px; cursor: pointer; }
.ai-messages { flex: 1; min-height: 80px; overflow-y: auto; overscroll-behavior: contain; padding: 20px; scrollbar-width: thin; scrollbar-color: #c5bfd4 transparent; }
.ai-message { width: fit-content; max-width: 94%; margin: 0 0 14px; padding: 12px 14px; border-radius: 12px 12px 12px 3px; background: #f2f4f8; font-size: 13px; line-height: 1.65; white-space: pre-wrap; overflow-wrap: anywhere; }
.ai-message a { color: #1761da; }
.ai-message-user { margin-left: auto; border-radius: 12px 12px 3px 12px; background: #f0e9fc; }
.ai-status { margin: 0; padding: 8px 20px; color: #8b4663; font-size: 12px; line-height: 1.5; }
.ai-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; padding: 10px 16px; border-top: 1px solid #edf0f5; }
.ai-actions button { border: 0; background: none; padding: 0; font-size: 11px; color: #74509f; font-weight: 600; cursor: pointer; }
.ai-actions button:disabled { opacity: .45; cursor: default; }
.ai-actions a { margin-left: auto; font-size: 10px; color: #697487; text-decoration: none; }
.ai-form { display: flex; gap: 10px; align-items: flex-end; padding: 6px 16px 10px; }
.ai-form textarea { flex: 1; min-width: 0; max-height: 100px; resize: vertical; border: 1px solid #dce1eb; border-radius: 10px; padding: 10px 12px; font: 12px/1.5 Inter, sans-serif; }
.ai-form button { width: 36px; height: 36px; flex-shrink: 0; border: 0; border-radius: 50%; background: #8d3bc4; color: #fff; font-size: 23px; cursor: pointer; }
.ai-form button:disabled { opacity: .5; cursor: progress; }
.ai-disclaimer { margin: 0; padding: 0 16px 13px; text-align: center; color: #687285; font-size: 10px; line-height: 1.5; }
.ai-summary { padding: 12px 20px; background: #faf8fe; max-height: 240px; overflow-y: auto; }
.ai-summary label { display: block; font-size: 12px; font-weight: 600; margin-bottom: 8px; }
.ai-summary textarea { width: 100%; resize: vertical; border: 1px solid #dce1eb; border-radius: 6px; padding: 9px; font: 12px/1.5 Inter, sans-serif; }
.ai-email { display: block; margin-top: 8px; color: #74509f; font-size: 12px; font-weight: 600; }
.ai-sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
@media (max-width: 540px) { .ai-chat { right: 10px; bottom: 10px; width: calc(100% - 20px); height: min(680px, calc(100dvh - 28px)); border-radius: 14px; } }
@media (prefers-reduced-motion: reduce) { .ai-chat[open] { animation: none; } }
