.nuntium-chat, .nuntium-chat * { box-sizing: border-box; }
.nuntium-chat { position: fixed; z-index: 999999; font: 15px/1.45 Arial, sans-serif; color: #172536; }
.nuntium-chat--bottom-left { left: 24px; bottom: 24px; }
.nuntium-chat--bottom-right { right: 24px; bottom: 24px; }
.nuntium-chat--top-left { left: 24px; top: 24px; }
.nuntium-chat--top-right { right: 24px; top: 24px; }
body.admin-bar .nuntium-chat--top-left, body.admin-bar .nuntium-chat--top-right { top: 56px; }
.nuntium-chat [hidden] { display: none !important; }
.nuntium-chat__toggle { position: relative; display: flex; align-items: center; justify-content: center; border: 0; border-radius: 999px; padding: 9px 17px; min-height: 48px; max-width: 260px; background: var(--nuntium-chat-color, #124e68); color: var(--nuntium-chat-launcher-text, #fff); font: inherit; font-weight: 700; box-shadow: 0 5px 22px #0003; cursor: pointer; overflow: visible; }
.nuntium-chat__toggle span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.nuntium-chat--has-avatar .nuntium-chat__toggle { padding-left: 58px; }
.nuntium-chat__toggle:hover, .nuntium-chat__start:hover, .nuntium-chat__input-row button:hover { filter: brightness(.9); }
.nuntium-chat__launcher-avatar { position: absolute; left: -14px; top: 50%; transform: translateY(-50%); width: 66px; height: 66px; object-fit: contain; border-radius: 50%; border: 3px solid #fff; background: #fff; box-shadow: 0 3px 14px #0003; }
.nuntium-chat__panel { position: absolute; left: 0; bottom: 65px; width: min(390px, calc(100vw - 32px)); height: min(590px, calc(100dvh - 100px)); min-height: 300px; background: #fff; border: 1px solid #dce4e9; border-radius: 16px; box-shadow: 0 12px 38px #0003; display: flex; flex-direction: column; overflow: hidden; }
body.admin-bar .nuntium-chat__panel { height: min(590px, calc(100dvh - 140px)); }
.nuntium-chat--bottom-right .nuntium-chat__panel, .nuntium-chat--top-right .nuntium-chat__panel { left: auto; right: 0; }
.nuntium-chat--top-left .nuntium-chat__panel, .nuntium-chat--top-right .nuntium-chat__panel { bottom: auto; top: 65px; }
.nuntium-chat__header { background: var(--nuntium-chat-color, #124e68); color: var(--nuntium-chat-text, #fff); padding: 13px 16px; display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.nuntium-chat__heading { display: flex; align-items: center; gap: 10px; min-width: 0; }
.nuntium-chat__header-avatar { width: 38px; height: 38px; flex: none; object-fit: contain; border-radius: 50%; background: #fff; }
.nuntium-chat__header strong, .nuntium-chat__header span { display: block; }
.nuntium-chat__header strong { font-size: 16px; }
.nuntium-chat__header span { font-size: 13px; opacity: .85; }
.nuntium-chat__close { border: 0; background: transparent; color: inherit; font-size: 27px; line-height: 1; cursor: pointer; }
.nuntium-chat__messages { flex: 1; min-height: 0; overflow-y: auto; padding: 15px; background: #f6f8fa; }
.nuntium-chat--lead-open .nuntium-chat__messages { display: none; }
.nuntium-chat__message-row { display: flex; align-items: end; gap: 7px; margin-bottom: 13px; }
.nuntium-chat__message-row--user { justify-content: flex-end; }
.nuntium-chat__message-avatar { width: 27px; height: 27px; flex: none; object-fit: contain; border-radius: 50%; background: #fff; }
.nuntium-chat__message { max-width: 88%; padding: 10px 12px; border-radius: 13px; white-space: pre-wrap; overflow-wrap: anywhere; }
.nuntium-chat__message p { margin: 0; }
.nuntium-chat__message--bot { background: #fff; border: 1px solid #e1e7eb; }
.nuntium-chat__message--user { background: #d8edf5; }
.nuntium-chat__sources { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 9px; }
.nuntium-chat__sources a { color: #0b5576; font-size: 13px; text-decoration: underline; }
.nuntium-chat__sources a + a::before { content: '·'; margin-right: 6px; color: #71808b; }
.nuntium-chat__choices { display: flex; flex-wrap: wrap; gap: 7px; margin: 0 0 12px 34px; }
.nuntium-chat__choices:empty { display: none; }
.nuntium-chat__choices button { border: 1px solid var(--nuntium-chat-color, #124e68); border-radius: 999px; padding: 7px 10px; background: #fff; color: #172536; font: inherit; font-size: 12px; line-height: 1.25; cursor: pointer; text-align: left; }
.nuntium-chat__choices button:hover { background: #e8f3f8; }
.nuntium-chat__choices button:disabled { opacity: .55; cursor: wait; }
.nuntium-chat__contact { display: grid; gap: 8px; margin-top: 11px; }
.nuntium-chat__contact small { color: #526473; }
.nuntium-chat__contact a, .nuntium-chat__contact button { display: inline-block; width: fit-content; border: 0; border-radius: 6px; padding: 8px 10px; background: var(--nuntium-chat-color, #124e68); color: var(--nuntium-chat-text, #fff); font: inherit; font-size: 12px; font-weight: 700; text-decoration: none; cursor: pointer; }
.nuntium-chat__contact a:hover, .nuntium-chat__contact button:hover { filter: brightness(.9); }
.nuntium-chat__entry-form, .nuntium-chat__profile-form, .nuntium-chat__form { padding: 13px 15px 15px; border-top: 1px solid #e1e7eb; background: #fff; }
.nuntium-chat__entry-form { max-height: 78%; overflow-y: auto; }
.nuntium-chat__profile-form { max-height: 78%; overflow-y: auto; }
.nuntium-chat--lead-open .nuntium-chat__profile-form { max-height: none; min-height: 0; flex: 1; display: flex; flex-direction: column; overflow: hidden; }
.nuntium-chat__profile-title { margin: 0 0 10px; font-weight: 700; }
.nuntium-chat__profile-intro { margin: 0 0 10px; font-size: 12px; }
.nuntium-chat__trap { display: none !important; }
.nuntium-chat__lead { display: flex; flex-direction: column; gap: 4px; margin-bottom: 10px; }
.nuntium-chat--lead-open .nuntium-chat__lead { min-height: 0; flex: 1; overflow-y: auto; padding-right: 4px; }
.nuntium-chat__lead label { font-size: 12px; font-weight: 700; }
.nuntium-chat__lead input { min-width: 0; width: 100%; height: 34px; border: 1px solid #aebec8; border-radius: 6px; padding: 5px 7px; font: inherit; font-size: 13px; }
.nuntium-chat__lead textarea { min-width: 0; width: 100%; border: 1px solid #aebec8; border-radius: 6px; padding: 5px 7px; font: inherit; font-size: 13px; resize: vertical; }
.nuntium-chat__consent { display: block; margin-bottom: 11px; font-size: 11px; line-height: 1.4; }
.nuntium-chat__consent input { margin-right: 4px; vertical-align: middle; }
.nuntium-chat__entry-error { margin: 0 0 8px; color: #b32d2e; font-size: 12px; }
.nuntium-chat__entry-error:empty { display: none; }
.nuntium-chat__profile-summary { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 0 0 8px; font-size: 12px; }
.nuntium-chat__edit-profile { border: 0; background: transparent; color: #0b5576; font: inherit; font-size: 12px; text-decoration: underline; cursor: pointer; }
.nuntium-chat__start { flex: none; width: 100%; border: 0; border-radius: 7px; padding: 10px 12px; background: var(--nuntium-chat-color, #124e68); color: var(--nuntium-chat-text, #fff); font: inherit; font-weight: 700; cursor: pointer; }
.nuntium-chat__back { display: block; margin: 0 0 10px; border: 0; padding: 0; background: transparent; color: #0b5576; font: inherit; text-decoration: underline; cursor: pointer; }
.nuntium-chat__label { display: block; font-size: 12px; font-weight: 700; margin-bottom: 5px; }
.nuntium-chat__input-row { display: flex; gap: 7px; }
.nuntium-chat__input-row input { flex: 1; min-width: 0; height: 40px; border: 1px solid #aebec8; border-radius: 7px; padding: 8px 10px; font: inherit; }
.nuntium-chat__input-row button { border: 0; border-radius: 7px; padding: 0 12px; background: var(--nuntium-chat-color, #124e68); color: var(--nuntium-chat-text, #fff); font: inherit; cursor: pointer; }
.nuntium-chat__input-row button:disabled { opacity: .6; cursor: wait; }
.nuntium-chat__form small { display: block; margin-top: 9px; font-size: 11px; color: #526473; }
.nuntium-chat__form a, .nuntium-chat__profile-form a, .nuntium-chat__entry-form a { color: #0b5576; }
.nuntium-chat button:focus-visible, .nuntium-chat input:focus-visible, .nuntium-chat a:focus-visible { outline: 3px solid #ffbe45; outline-offset: 2px; }
@media (max-width: 480px) {
  .nuntium-chat--bottom-left { left: 16px; bottom: 16px; }
  .nuntium-chat--bottom-right { right: 16px; bottom: 16px; }
  .nuntium-chat--top-left { left: 16px; top: 16px; }
  .nuntium-chat--top-right { right: 16px; top: 16px; }
  body.admin-bar .nuntium-chat--top-left, body.admin-bar .nuntium-chat--top-right { top: 62px; }
}
