.nexo-assistant { --chat-orange: #ff811c; --chat-ink: #05213d; }
.nexo-chat-icon-button.nexo-chat-launcher { position: fixed; right: 24px; bottom: 24px; z-index: 60; width: 58px; height: 58px; display: grid; place-items: center; padding: 0; border: 2px solid var(--chat-orange); border-radius: 50%; background: var(--chat-ink); color: #fff; box-shadow: 0 4px 18px #05213d29; cursor: pointer; }
.nexo-chat-launcher:hover { background: #303b40; }
.nexo-chat-launcher::before { content: 'Nexo Assistant'; position: absolute; right: 70px; padding: 8px 12px; color: #fff; background: var(--chat-ink); border-radius: 4px; white-space: nowrap; font: 600 .875rem/1.3 Arial, sans-serif; opacity: 0; pointer-events: none; }
.nexo-chat-launcher:hover::before, .nexo-chat-launcher:focus-visible::before { opacity: 1; }
.nexo-icon { display: block; flex: 0 0 auto; width: 21px; height: 21px; background: currentColor; mask: var(--icon) center / contain no-repeat; }
.nexo-icon--chat { --icon: url('/icons/message-circle.svg'); width: 26px; height: 26px; }
.nexo-icon--close { --icon: url('/icons/x.svg'); }
.nexo-icon--send { --icon: url('/icons/arrow-up.svg'); }
.nexo-icon--clear { --icon: url('/icons/rotate-ccw.svg'); width: 18px; height: 18px; }
.nexo-chat-panel { position: fixed; inset: auto 24px var(--chat-bottom, 24px) auto; width: 392px; max-width: calc(100% - 24px); height: var(--chat-height, 620px); max-height: calc(100dvh - 48px); margin: 0; padding: 0; overflow-x: hidden; overflow-y: auto; border: 1px solid #c5cdd1; border-radius: 8px; background: #fff; color: #05213d; box-shadow: 0 12px 48px #05213d30; font: 400 1rem/1.5 Arial, sans-serif; }
.nexo-chat-panel[open] { display: flex; flex-direction: column; }
.nexo-chat-panel::backdrop { background: #05213d38; }
.nexo-chat-panel *, .nexo-chat-panel *::before, .nexo-chat-panel *::after { box-sizing: border-box; letter-spacing: 0; }
.nexo-chat-header { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 16px 16px 13px; color: #fff; background: #05213d; border-bottom: 3px solid #ff811c; flex: 0 0 auto; }
.nexo-chat-title { margin: 0; font: 700 1.125rem/1.4 Arial, sans-serif; color: inherit; text-transform: none; }
.nexo-chat-mode { margin: 1px 0 0; font-size: .8125rem; color: #e0e6e9; }
.nexo-chat-icon-button { width: 44px; height: 44px; padding: 0; display: grid; place-items: center; flex: 0 0 auto; border: 0; border-radius: 4px; background: transparent; color: inherit; cursor: pointer; }
.nexo-chat-icon-button:hover { background: #ffffff20; }
.nexo-chat-log { display: flex; flex-direction: column; gap: 12px; flex: 1 1 120px; min-height: 70px; overflow-y: auto; overscroll-behavior: contain; padding: 18px 16px 12px; scroll-behavior: auto; }
.nexo-chat-message { width: fit-content; max-width: 100%; border-radius: 4px; padding: 10px 12px; font-size: .9375rem; line-height: 1.5; overflow-wrap: anywhere; white-space: pre-wrap; }
.nexo-chat-message--assistant { align-self: flex-start; background: #f1f4f5; border-left: 2px solid #ff811c; }
.nexo-chat-message--user { align-self: flex-end; background: #05213d; color: #fff; }
.nexo-chat-message p { margin: 0; }
.nexo-chat-source { display: inline-block; margin: 8px 10px 0 0; color: #05213d; text-decoration: underline; font-size: .8125rem; font-weight: 600; }
.nexo-chat-questions { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; padding: 6px 16px 12px; flex: 0 0 auto; }
.nexo-chat-question { min-height: 44px; padding: 8px 9px; border: 1px solid #c5cdd1; border-radius: 4px; background: #fff; color: #05213d; font: 600 .8125rem/1.35 Arial, sans-serif; text-align: left; cursor: pointer; }
.nexo-chat-question:hover { border-color: #05213d; background: #f1f4f5; }
.nexo-chat-bottom { padding: 10px 16px 12px; border-top: 1px solid #dce2e5; flex: 0 0 auto; }
.nexo-chat-status { min-height: 18px; margin: 0 0 6px; font-size: .8125rem; line-height: 1.35; color: #46575f; }
.nexo-chat-panel .nexo-chat-compose { display: flex; gap: 8px; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
.nexo-chat-panel .nexo-chat-input { flex: 1; width: 0; min-width: 0; height: 56px; min-height: 56px; max-height: 56px; margin: 0; padding: 9px 10px; resize: none; border: 1px solid #a6b3ba; border-radius: 4px; background: #fff; color: #05213d; font: 400 1rem/1.4 Arial, sans-serif; }
.nexo-chat-send { width: 48px; height: 56px; padding: 0; border: 1px solid #05213d; border-radius: 4px; display: grid; place-items: center; background: #05213d; color: #fff; cursor: pointer; }
.nexo-chat-send:hover { background: #303b40; }
.nexo-chat-actions { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 8px; }
.nexo-chat-consultation { min-height: 44px; padding: 7px 9px; border: 0; border-radius: 4px; background: #ff811c; color: #05213d; font: 700 .8125rem/1.4 Arial, sans-serif; cursor: pointer; }
.nexo-chat-clear { color: #46575f; }
.nexo-chat-clear:hover { background: #f1f4f5; }
.nexo-chat-disclosure { margin: 8px 0 0; color: #46575f; font-size: .75rem; line-height: 1.45; }
.nexo-chat-disclosure a { color: inherit; text-decoration: underline; }
.nexo-chat-panel :disabled { cursor: wait; opacity: .55; }
.nexo-chat-launcher:focus-visible, .nexo-chat-panel :focus-visible { outline: 3px solid #ff811c; outline-offset: 3px; }
.nexo-chat-panel .nexo-chat-input:focus-visible { outline-offset: 0; }
.nexo-chat-panel.nexo-chat-compact .nexo-chat-questions { display: none; }
.nexo-chat-panel.nexo-chat-compact .nexo-chat-header { padding-block: 9px; }
.nexo-chat-panel.nexo-chat-compact .nexo-chat-disclosure { display: none; }
.nexo-chat-panel.nexo-chat-compact .nexo-chat-bottom { padding-block: 6px; }
.nexo-chat-panel.nexo-chat-compact .nexo-chat-log { min-height: 0; }
.nexo-chat-panel.nexo-chat-tiny .nexo-chat-header { padding-block: 4px; }
.nexo-chat-panel.nexo-chat-tiny .nexo-chat-mode { display: none; }
.nexo-chat-panel.nexo-chat-tiny .nexo-chat-input, .nexo-chat-panel.nexo-chat-tiny .nexo-chat-send { height: 44px; min-height: 44px; max-height: 44px; }
.nexo-chat-panel.nexo-chat-tiny .nexo-chat-status { margin-bottom: 4px; }
.nexo-chat-panel.nexo-chat-tiny .nexo-chat-actions { margin-top: 4px; }
[hidden].nexo-chat-launcher { display: none; }
@media (max-width: 700px) {
  .nexo-chat-icon-button.nexo-chat-launcher { right: 16px; bottom: 16px; }
  .nexo-chat-panel { right: 12px; width: calc(100% - 24px); max-height: calc(100dvh - 24px); }
  body.nexo-has-assistant footer { padding-bottom: 76px; }
}
@media (prefers-reduced-motion: no-preference) {
  .nexo-chat-launcher { transition: background .15s; }
  .nexo-chat-panel[open] { animation: nexo-chat-enter .18s ease-out; }
  @keyframes nexo-chat-enter { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
}

.nexo-chat-panel p{color:inherit}.nexo-chat-panel .nexo-chat-disclosure,.nexo-chat-panel .nexo-chat-status{color:#46575f}.nexo-chat-panel .nexo-chat-title{font-size:18px}.nexo-chat-panel::backdrop{backdrop-filter:none}.nexo-chat-panel .nexo-chat-question{margin:0}.nexo-chat-panel .nexo-chat-consultation{color:#05213d}.nexo-chat-panel:focus{outline:none}

.nexo-chat-icon-button.nexo-chat-launcher{width:62px;height:62px;border:2px solid #ff811c;background:white;overflow:hidden}.nexo-chat-launcher .nexo-icon--chat{width:54px;height:54px;border-radius:50%;background:white url('/assets/nexo-fox-badge.jpg') center/contain no-repeat;mask:none}.nexo-chat-header{background:linear-gradient(110deg,#05213d,#075083);border-bottom-color:#ff811c}.nexo-chat-message--assistant{background:#edf7ff;border-left-color:#008bd2}.nexo-chat-question:hover{border-color:#007ac2;background:#eef8ff}.nexo-chat-panel .nexo-chat-consultation{background:#ff811c;color:#05213d}.nexo-chat-send{background:#087cc9;border-color:#087cc9}.nexo-chat-send:hover{background:#096caa}.nexo-chat-launcher:focus-visible,.nexo-chat-panel :focus-visible{outline-color:#007ac2}
