#faq-chat { position: fixed; right: 24px; bottom: 24px; z-index: 1045; font-family: 'Poppins', sans-serif; letter-spacing: 0; }
#faq-chat [hidden] { display: none !important; }
#faq-chat button { cursor: pointer; font-family: inherit; }
#faq-chat button:focus-visible, #faq-chat a:focus-visible { outline: 3px solid #38bdf8; outline-offset: 3px; }
#faq-chat .faq-chat-launcher { display: grid; place-items: center; width: 56px; height: 56px; border: 2px solid #fff; border-radius: 50%; background: #087f5b; color: #fff; font-size: 23px; box-shadow: 0 5px 20px rgba(0, 0, 0, .2); }
#faq-chat .faq-chat-launcher:hover { background: #066648; }
#faq-chat .faq-chat-panel { position: absolute; right: 0; bottom: 70px; display: flex; flex-direction: column; width: 380px; max-width: calc(100vw - 32px); height: 520px; max-height: calc(100dvh - 120px); border: 1px solid #cddbd4; border-radius: 8px; background: #fff; box-shadow: 0 12px 36px rgba(0, 0, 0, .2); overflow: hidden; }
#faq-chat .faq-chat-header { display: flex; align-items: center; gap: 8px; padding: 16px; background: #087f5b; color: #fff; }
#faq-chat .faq-chat-header > div { flex: 1; min-width: 0; }
#faq-chat .faq-chat-header h2 { margin: 0; color: #fff; font-size: 17px; font-weight: 700; }
#faq-chat .faq-chat-header p { margin: 4px 0 0; color: #ddf4eb; font-size: 11px; }
#faq-chat .faq-chat-icon { display: grid; place-items: center; flex: 0 0 32px; width: 32px; height: 32px; padding: 0; border: 1px solid rgba(255, 255, 255, .4); border-radius: 6px; background: transparent; color: #fff; }
#faq-chat .faq-chat-icon:hover { background: rgba(255, 255, 255, .18); }
#faq-chat .faq-chat-modes { display: flex; border-bottom: 1px solid #dce5df; }
#faq-chat .faq-chat-modes button { flex: 1; min-height: 39px; padding: 8px; border: 0; border-bottom: 2px solid transparent; background: #fff; color: #64756c; font-size: 12px; font-weight: 600; }
#faq-chat .faq-chat-modes button[aria-pressed="true"] { border-bottom-color: #087f5b; background: #f0f8f4; color: #087f5b; }
#faq-chat .faq-chat-support-tools { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; padding: 8px 12px; border-bottom: 1px solid #dce5df; color: #476957; background: #f9fbfa; font-size: 10px; }
#faq-chat .faq-chat-support-tools > span { flex: 1; min-width: 85px; }
#faq-chat .faq-chat-support-tools button { padding: 4px 6px; border: 1px solid #d0ddd4; border-radius: 4px; background: #fff; color: #52655a; font-size: 10px; }
#faq-chat .faq-chat-support-tools p { flex-basis: 100%; margin: 0; color: #728077; font-size: 10px; line-height: 1.5; }
#faq-chat .faq-chat-message-meta { display: block; margin-bottom: 4px; color: #64756c; font-size: 10px; }
#faq-chat .faq-chat-message-system { max-width: 100%; border: 0; background: transparent; color: #758279; font-size: 11px; text-align: center; }
#faq-chat .faq-chat-messages { flex: 1; min-height: 0; overflow-y: auto; padding: 16px; background: #f6f8f7; overscroll-behavior: contain; }
#faq-chat .faq-chat-message { max-width: 94%; margin: 0 0 12px; padding: 12px; border: 1px solid #dde5e0; border-radius: 8px; background: #fff; color: #243c32; font-size: 13px; line-height: 1.65; overflow-wrap: anywhere; white-space: pre-wrap; }
#faq-chat .faq-chat-message-user { margin-left: auto; border-color: #bae6fd; background: #e0f2fe; color: #16435a; }
#faq-chat .faq-chat-message strong { display: block; margin-bottom: 7px; font-size: 13px; }
#faq-chat .faq-chat-message a { display: block; margin-top: 8px; color: #087f5b; text-decoration: underline; font-size: 12px; }
#faq-chat .faq-chat-suggestion { display: block; width: 100%; margin-top: 8px; padding: 9px 10px; border: 1px solid #bdd7cb; border-radius: 6px; background: #f2faf6; color: #185640; text-align: left; font-size: 12px; line-height: 1.5; white-space: normal; overflow-wrap: anywhere; }
#faq-chat .faq-chat-suggestion:hover { background: #e0f2e8; }
#faq-chat .faq-chat-pending { color: #64756c; font-size: 12px; }
#faq-chat .faq-chat-form { display: flex; gap: 8px; margin: 0; padding: 12px; border-top: 1px solid #dde5e0; background: #fff; }
#faq-chat .faq-chat-form input { flex: 1; min-width: 0; height: 42px; padding: 9px 11px; border: 1px solid #cddbd4; border-radius: 6px; background: #fff; color: #243c32; font: inherit; font-size: 13px; }
#faq-chat .faq-chat-form input:focus { outline: 2px solid #087f5b; outline-offset: 1px; }
#faq-chat .faq-chat-form button { flex: 0 0 42px; width: 42px; height: 42px; border: 0; border-radius: 6px; background: #087f5b; color: #fff; }
#faq-chat button:disabled { opacity: .55; cursor: not-allowed; }
#faq-chat .faq-chat-footer { display: flex; justify-content: space-between; gap: 12px; padding: 0 14px 12px; font-size: 11px; }
#faq-chat .faq-chat-footer a { color: #496457; }
#faq-chat .faq-chat-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
@media (max-width: 575px) { #faq-chat { right: 16px; bottom: 16px; } #faq-chat .faq-chat-panel { width: calc(100vw - 32px); max-height: calc(100dvh - 104px); } }