.AppointmentWidget_floatingButton__4pYKN{position:fixed;bottom:24px;right:24px;min-width:56px;height:56px;padding:0 16px;border-radius:9999px;background:linear-gradient(135deg,#7c3aed,#6d28d9);border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(124,58,237,.35);transition:all .3s cubic-bezier(.4,0,.2,1);z-index:10000}.AppointmentWidget_floatingButton__4pYKN:hover{transform:scale(1.02);box-shadow:0 8px 18px rgba(124,58,237,.45)}.AppointmentWidget_floatingButton__4pYKN:active{transform:scale(.95)}.AppointmentWidget_chatContainer__BKZWa{position:fixed;bottom:96px;right:24px;width:400px;max-width:calc(100vw - 32px);height:600px;max-height:calc(100vh - 120px);background:#fff;border-radius:18px;box-shadow:0 10px 40px rgba(0,0,0,.16);display:flex;flex-direction:column;z-index:10001;animation:AppointmentWidget_slideUp__W0guw .3s cubic-bezier(.4,0,.2,1)}.AppointmentWidget_buttonContent__SH5JE{display:inline-flex;align-items:center;gap:10px}.AppointmentWidget_buttonText__TDVCq{display:none;font-size:.95rem;font-weight:600}@media screen and (min-width:640px){.AppointmentWidget_buttonText__TDVCq{display:inline-flex}}@keyframes AppointmentWidget_slideUp__W0guw{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.AppointmentWidget_chatHeader__jZZiX{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid #e5e7eb;background:#f9fafb;border-radius:12px 12px 0 0}.AppointmentWidget_sessionBanner__2guoi{padding:10px 16px;background:#eef2ff;color:#4338ca;font-size:.875rem;border-bottom:1px solid #dbeafe}.AppointmentWidget_chatHeader__jZZiX h3{margin:0;font-size:1rem;font-weight:600;color:#1f2937}.AppointmentWidget_closeButton__0DyuG{background:none;border:none;color:#6b7280;cursor:pointer;font-size:1.25rem;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:color .2s}.AppointmentWidget_closeButton__0DyuG:hover{color:#1f2937}.AppointmentWidget_messagesContainer__feg9X{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.AppointmentWidget_message__lg3Xi{display:flex;animation:AppointmentWidget_fadeIn__rPyqi .3s ease-in}@keyframes AppointmentWidget_fadeIn__rPyqi{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.AppointmentWidget_message__lg3Xi.AppointmentWidget_user__vZpbo{justify-content:flex-end}.AppointmentWidget_message__lg3Xi.AppointmentWidget_agent__AkCnT{justify-content:flex-start}.AppointmentWidget_messageText__CNExs{max-width:80%;padding:10px 14px;border-radius:8px;font-size:.9375rem;line-height:1.4;word-wrap:break-word}.AppointmentWidget_message__lg3Xi.AppointmentWidget_user__vZpbo .AppointmentWidget_messageText__CNExs{background:#7c3aed;color:#fff;border-radius:16px 16px 4px 16px}.AppointmentWidget_message__lg3Xi.AppointmentWidget_agent__AkCnT .AppointmentWidget_messageText__CNExs{background:#f3f4f6;color:#374151;border-radius:16px 16px 16px 4px}.AppointmentWidget_welcomeMessage__JYJ5u{display:flex;align-items:center;justify-content:center;height:100%;text-align:center;padding:20px}.AppointmentWidget_welcomeMessage__JYJ5u p{color:#6b7280;font-size:.9375rem;line-height:1.5;margin:0}.AppointmentWidget_selectionCard__eEjcK{padding:20px;background:#f8fafc;border-radius:14px;border:1px solid #e2e8f0}.AppointmentWidget_selectionPrompt__eNrod{margin:0 0 16px;color:#1f2937;font-weight:600}.AppointmentWidget_flowActions__uUYmM{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.AppointmentWidget_flowButton__N9ovo{min-width:140px;padding:10px 16px;border:none;border-radius:9999px;background:#7c3aed;color:#fff;cursor:pointer;font-weight:600;transition:transform .2s ease,box-shadow .2s ease}.AppointmentWidget_flowButton__N9ovo:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(124,58,237,.2)}.AppointmentWidget_typing__O3GSN{display:inline-flex;gap:3px;vertical-align:middle}.AppointmentWidget_typing__O3GSN:after{content:"";animation:AppointmentWidget_typing__O3GSN 1.4s infinite}@keyframes AppointmentWidget_typing__O3GSN{0%,60%,to{opacity:.3}30%{opacity:1}}.AppointmentWidget_errorMessage__bliki{padding:8px 12px;background:#fee2e2;color:#dc2626;border-radius:6px;font-size:.8125rem}.AppointmentWidget_inputForm__v8eF5{display:flex;gap:8px;padding:12px;border-top:1px solid #e5e7eb;background:#f9fafb;border-radius:0 0 12px 12px}.AppointmentWidget_input__BJPsx{flex:1;padding:10px 14px;border:1px solid #d1d5db;border-radius:8px;font-size:.9375rem;outline:none;transition:border-color .2s;font-family:inherit}.AppointmentWidget_input__BJPsx:focus{border-color:#7c3aed;box-shadow:0 0 0 3px rgba(124,58,237,.1)}.AppointmentWidget_input__BJPsx:disabled{background-color:#f3f4f6;cursor:not-allowed;color:#9ca3af}.AppointmentWidget_sendButton__yh3vY{width:40px;height:40px;padding:8px;background:#7c3aed;color:#fff;border:none;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.AppointmentWidget_sendButton__yh3vY:hover:not(:disabled){background:#6d28d9}.AppointmentWidget_sendButton__yh3vY:active:not(:disabled){transform:scale(.95)}.AppointmentWidget_sendButton__yh3vY:disabled{background:#d1d5db;cursor:not-allowed}@media (max-width:640px){.AppointmentWidget_chatContainer__BKZWa{width:calc(100vw - 32px);height:calc(100vh - 120px);max-height:100%;bottom:80px;right:16px}.AppointmentWidget_floatingButton__4pYKN{bottom:16px;right:16px}.AppointmentWidget_messageText__CNExs{max-width:90%}}