.nexora-chat-widget{font-family:var(--nexora-font-family,Inter,system-ui,sans-serif);color:var(--nexora-headerTextColor,#14213d)}
.nexora-chatbot-window{background:var(--nexora-chatBgColor,#fff)}
.nexora-chatbot-launcher{background:var(--nexora-collapsedBubbleBgColor,#2563eb);color:#fff}
.nexora-chatbot-header{background:var(--nexora-headerBgColor,#fff)}
.nexora-chatbot-heading h2{color:var(--nexora-headerTextColor,#14213d)}
.nexora-chatbot-heading p{color:var(--nexora-headerSubtitleTextColor,#64748b)}
.nexora-message-author{color:var(--nexora-assistantLabelTextColor,#64748b)!important}
.nexora-message-avatar{background:var(--nexora-assistantIconBgColor,#2563eb)!important;color:var(--nexora-assistantIconColor,#ffffff)!important}
.nexora-chatbot-close{color:var(--nexora-controlTextColor,#64748b)}
.nexora-chatbot-messages{background:var(--nexora-chatBgColor,#fff)}
.nexora-message--bot .nexora-bubble{background:var(--nexora-botBubbleBgColor,#f0f4f9);color:var(--nexora-botBubbleTextColor,#14213d)}
.nexora-message--user .nexora-bubble{background:var(--nexora-userBubbleBgColor,#2563eb);color:var(--nexora-userBubbleTextColor,#fff)}
.nexora-chatbot-form{background:var(--nexora-inputAreaBgColor,#fff)!important}
.nexora-chat-input{background:var(--nexora-inputBgColor,#fff);color:var(--nexora-inputTextColor,#14213d)}
.nexora-chat-send{background:var(--nexora-sendBtnBgColor,#2563eb);color:var(--nexora-sendBtnTextColor,#fff)}
.nexora-chatbot-launcher[hidden],.nexora-chatbot-window[hidden]{display:none!important}
.nexora-chat-send:hover,.nexora-chat-send:focus,.nexora-chat-send:active{background:var(--nexora-sendBtnBgColor,#2563eb)!important;color:var(--nexora-sendBtnTextColor,#fff)!important;border-color:transparent!important;box-shadow:none!important;transform:none!important}
.nexora-chatbot-close:hover,.nexora-chatbot-close:focus,.nexora-chatbot-close:active{background:transparent!important;color:var(--nexora-controlTextColor,#64748b)!important;border-color:transparent!important;box-shadow:none!important}
.nexora-chatbot-close svg{transform-origin:center;transition:transform 420ms cubic-bezier(.22,.61,.36,1)}
.nexora-chatbot-close:hover svg,.nexora-chatbot-close:focus-visible svg{transform:rotate(360deg)}
@media (prefers-reduced-motion:reduce){.nexora-chatbot-close svg{transition:none!important}.nexora-chatbot-close:hover svg,.nexora-chatbot-close:focus-visible svg{transform:none!important}}
.nexora-chatbot-launcher:hover,.nexora-chatbot-launcher:focus,.nexora-chatbot-launcher:active{background:var(--nexora-collapsedBubbleBgColor,#2563eb)!important;color:#fff!important;border-color:transparent!important}
.nexora-chatbot-window{border-color:rgba(148,163,184,.28)!important}.nexora-chatbot-header{border-bottom-color:rgba(148,163,184,.28)!important}.nexora-chatbot-form{border-top-color:rgba(148,163,184,.28)!important}.nexora-chatbot-footer{border-top-color:rgba(148,163,184,.28)!important}.nexora-chat-input{border-color:rgba(148,163,184,.38)!important}
.nexora-launcher-icon:after{content:none!important}.nexora-launcher-icon svg{width:25px;height:25px;display:block;color:currentColor}
.nexora-chatbot-logo.circle{width:48px!important;height:48px!important;flex-basis:48px!important;border-radius:50%}.nexora-chatbot-logo.oval-horizontal{width:58px!important;height:36px!important;flex-basis:58px!important;border-radius:18px}.nexora-chatbot-logo.oval-vertical{width:36px!important;height:58px!important;flex-basis:36px!important;border-radius:18px}.nexora-chatbot-logo.square{width:48px!important;height:48px!important;flex-basis:48px!important;border-radius:0}.nexora-chatbot-logo.rounded-square{width:48px!important;height:48px!important;flex-basis:48px!important;border-radius:12px}
.layout-bubble .nexora-bubble{border-radius:22px}.layout-sharp .nexora-bubble{border-radius:4px}.layout-sharp .nexora-message--bot .nexora-bubble,.layout-sharp .nexora-message--user .nexora-bubble{border-bottom-left-radius:4px;border-bottom-right-radius:4px}
.nexora-message.bubble-shape-rounded .nexora-bubble{border-radius:18px}.nexora-message.bubble-shape-rounded.nexora-message--bot .nexora-bubble{border-bottom-left-radius:6px}.nexora-message.bubble-shape-rounded.nexora-message--user .nexora-bubble{border-bottom-right-radius:6px}.nexora-message.bubble-shape-soft .nexora-bubble{border-radius:12px}.nexora-message.bubble-shape-pill .nexora-bubble{border-radius:24px}.nexora-message.bubble-shape-sharp .nexora-bubble{border-radius:4px}
.nexora-chat-widget{right:22px!important;bottom:94px!important;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif!important}
.nexora-chatbot-window{width:min(410px,calc(100vw - 32px))!important;height:min(650px,calc(100vh - 32px))!important;border-radius:22px!important}
.nexora-chatbot-header{min-height:72px!important;padding:12px 16px!important}
.nexora-chatbot-logo{width:58px!important;height:48px!important;flex-basis:58px!important}
.nexora-chatbot-heading h2{font-size:16px!important;font-weight:700!important}
.nexora-chatbot-heading p{font-size:13.6px!important}
.nexora-chatbot-messages{gap:18px!important;padding:20px 16px!important}
.nexora-message{max-width:75%!important}
.nexora-bubble{font-size:12px!important}
.nexora-chatbot-form{padding:12px 14px!important}
.nexora-chat-input{height:44px!important;font-size:14px!important}
.nexora-chat-send{width:44px!important;height:44px!important;min-width:44px!important;flex-basis:44px!important}
.nexora-chat-send svg{width:19px!important;height:19px!important}
.nexora-chatbot-footer{min-height:52px!important;font-size:12px!important}
.nexora-chatbot-footer a{font-size:11px!important}
.nexora-chatbot-launcher{width:min(246px,calc(100vw - 32px))!important;min-width:0!important;height:60px!important;border-radius:30px!important}
.nexora-chatbot-launcher{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;gap:12px!important;padding:0 18px!important}
@media(max-width:560px){.nexora-chat-widget{right:16px!important;bottom:16px!important}.nexora-chatbot-window{right:16px!important;bottom:86px!important;width:calc(100vw - 32px)!important;height:min(650px,calc(100vh - 32px))!important}.nexora-chatbot-launcher{width:56px!important;min-width:56px!important;height:56px!important;padding:0!important;border-radius:50%!important}}
.nexora-chat-widget{right:22px!important;bottom:22px!important;z-index:999998!important}
.nexora-chatbot-window{position:fixed!important;right:22px!important;bottom:94px!important;z-index:999998!important}
.nexora-chatbot-launcher{width:60px!important;height:60px!important;min-width:60px!important;padding:0!important;border-radius:50%!important;gap:0!important}
@media(max-width:560px){.nexora-chat-widget{right:16px!important;bottom:16px!important}.nexora-chatbot-window{right:16px!important;bottom:86px!important}.nexora-chatbot-launcher{width:56px!important;min-width:56px!important;height:56px!important}}
.nexora-chat-send{width:44px!important;height:44px!important;min-width:44px!important;flex:0 0 44px!important}
.nexora-chatbot-window:focus-within,.nexora-chatbot-header,.nexora-chatbot-messages,.nexora-chatbot-form,.nexora-chatbot-footer{opacity:1!important;filter:none!important;transform:none!important}
.nexora-chatbot-header,.nexora-chatbot-footer,.nexora-chatbot-form{flex-shrink:0}
.nexora-chat-input:focus{background:var(--nexora-inputBgColor,#fff)!important;color:var(--nexora-inputTextColor,#14213d)!important;outline:0!important}
.nexora-chat-input::placeholder{color:var(--nexora-inputTextColor,#94a3b8)!important;opacity:1}
.nexora-chat-input{background:var(--nexora-inputBgColor,#fff)!important;color:var(--nexora-inputTextColor,#14213d)!important;-webkit-text-fill-color:var(--nexora-inputTextColor,#14213d)!important}
.nexora-chat-input::placeholder{color:var(--nexora-inputTextColor,#94a3b8)!important;-webkit-text-fill-color:var(--nexora-inputTextColor,#94a3b8)!important;opacity:1!important}
@media(max-width:560px){html.nexora-chat-mobile-lock,body.nexora-chat-mobile-lock{overflow:hidden!important;overscroll-behavior:none!important}.nexora-chat-widget.nexora-mobile-open{inset:0!important;right:auto!important;bottom:auto!important;width:100vw!important;height:100dvh!important;min-height:100dvh!important;background:#0f172a!important}.nexora-chat-widget.nexora-mobile-open .nexora-chatbot-window{position:absolute!important;inset:0!important;right:auto!important;bottom:auto!important;width:100%!important;height:100%!important;min-height:100%!important;max-height:none!important;border:0!important;border-radius:0!important;box-shadow:none!important}.nexora-chat-widget.nexora-mobile-open .nexora-chatbot-header{padding-top:max(12px,env(safe-area-inset-top))!important;min-height:calc(72px + env(safe-area-inset-top))!important}.nexora-chat-widget.nexora-mobile-open .nexora-chatbot-messages{min-height:0!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important}.nexora-chat-widget.nexora-mobile-open .nexora-chatbot-form{padding-bottom:max(12px,env(safe-area-inset-bottom))!important}.nexora-chat-widget.nexora-mobile-open .nexora-chatbot-footer{padding-bottom:max(10px,env(safe-area-inset-bottom))!important}}
.nexora-chat-input:focus,.nexora-chat-input:focus-visible{outline:none!important;border-style:solid!important;border-color:rgba(148,163,184,.38)!important;box-shadow:none!important}
.nexora-chatbot-form{gap:10px!important;padding:12px 14px!important}
.nexora-chat-input{height:44px!important}
.nexora-chat-send{width:44px!important;height:44px!important;min-width:44px!important;flex:0 0 44px!important;border-radius:50%!important;border:0!important;padding:0!important;display:grid!important;place-items:center!important;box-shadow:0 8px 18px rgba(37,99,235,.24)!important}
.nexora-chat-send svg{width:19px!important;height:19px!important;display:block!important}
.nexora-chat-send .nexora-send-icon{display:block!important;width:19px!important;height:19px!important;transform:none!important;rotate:none!important;filter:none!important;shape-rendering:geometricPrecision}
.nexora-chatbot-launcher .nexora-launcher-icon{display:grid!important;place-items:center;width:46px;height:46px;flex:0 0 46px;border:1px solid currentColor;border-radius:50%}
.nexora-chatbot-launcher .nexora-launcher-icon svg{width:25px;height:25px;display:block}
@media(max-width:560px){.nexora-chatbot-launcher .nexora-launcher-icon{width:25px;height:25px;flex-basis:25px;border:0}.nexora-chatbot-launcher .nexora-launcher-icon svg{width:25px;height:25px}}

/* Keep short messages compact while constraining long messages. */
.nexora-message{align-self:flex-start!important;width:fit-content!important;max-width:75%!important;min-width:0!important}
.nexora-message--user{align-self:flex-end!important;align-items:flex-end!important}
.nexora-message .nexora-bubble{width:fit-content;max-width:100%;min-width:0}

/* Keep the public widget proportional across desktop and laptop viewports. */
@media (min-width:561px){
  .nexora-chat-widget{right:clamp(12px,1.8vw,28px)!important;bottom:clamp(12px,2.4vh,28px)!important}
  .nexora-chatbot-window{right:clamp(12px,1.8vw,28px)!important;bottom:clamp(78px,calc(60px + 2.4vh),94px)!important;width:min(clamp(360px,29vw,460px),calc(100vw - 32px))!important;height:min(clamp(520px,72vh,700px),calc(100vh - 24px))!important}
  .nexora-chatbot-header{min-height:clamp(64px,6.7vh,72px)!important;padding:clamp(10px,1.1vw,14px) clamp(12px,1.35vw,18px)!important}
  .nexora-chatbot-logo{width:clamp(44px,3.8vw,58px)!important;height:clamp(44px,3.8vw,58px)!important;flex-basis:clamp(44px,3.8vw,58px)!important}
  .nexora-chatbot-heading h2{font-size:clamp(15px,1.05vw,16px)!important}
  .nexora-chatbot-heading p{font-size:clamp(12px,.9vw,13.6px)!important}
  .nexora-chatbot-messages{gap:clamp(12px,1.4vh,18px)!important;padding:clamp(14px,1.5vw,20px) clamp(12px,1.35vw,16px)!important}
  .nexora-message .nexora-bubble{font-size:clamp(12px,.9vw,13px)!important}
  .nexora-chatbot-form{padding:clamp(10px,1.1vw,14px)!important;gap:clamp(8px,.9vw,10px)!important}
  .nexora-chat-input{height:clamp(42px,3.4vw,44px)!important;font-size:clamp(13px,.95vw,14px)!important}
  .nexora-chat-send{width:clamp(42px,3.4vw,44px)!important;height:clamp(42px,3.4vw,44px)!important;min-width:clamp(42px,3.4vw,44px)!important;flex-basis:clamp(42px,3.4vw,44px)!important}
}

/* The mobile open state remains a protected full-screen chat. */
@media (max-width:560px){
  .nexora-chat-widget.nexora-mobile-open,.nexora-chat-widget.nexora-mobile-open .nexora-chatbot-window{max-width:100vw!important}
}
