.ns-chat {
  --ns-chat-red: #e12219;
  --ns-chat-bottom: 24px;
  --ns-chat-mobile-bottom: 82px;
  --ns-chat-z: 10000;
  color-scheme: dark;
  font: 14px/1.5 Arial, Helvetica, sans-serif;
  color: #f7f7f7;
  position: relative;
  z-index: var(--ns-chat-z);
  text-align: left;
}
.ns-chat *, .ns-chat *::before, .ns-chat *::after { box-sizing: border-box; }
.ns-chat [hidden] { display: none !important; }
.ns-chat button, .ns-chat input, .ns-chat textarea { font: inherit; }
.ns-chat button { cursor: pointer; }
.ns-chat button:disabled { opacity: .52; cursor: default; }
.ns-chat button:focus-visible, .ns-chat a:focus-visible, .ns-chat input:focus-visible, .ns-chat textarea:focus-visible, .ns-chat__messages:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.ns-chat button { -webkit-tap-highlight-color: transparent; }
.ns-chat a { color: #ff928c; text-underline-offset: 3px; }
.ns-chat__launcher { position: fixed; right: 24px; bottom: calc(var(--ns-chat-bottom) + env(safe-area-inset-bottom, 0px)); display: flex; align-items: center; gap: 10px; min-height: 54px; padding: 13px 19px; border: 1px solid #ff5c52; border-radius: 28px; background: var(--ns-chat-red); color: #fff; font-weight: 700 !important; box-shadow: 0 5px 25px #0008; }
.ns-chat__launcher:hover { background: #bd1a13; }
.ns-chat__unread { font-size: 24px; line-height: 1; }
.ns-chat__panel { position: fixed; right: 24px; bottom: calc(var(--ns-chat-bottom) + 68px + env(safe-area-inset-bottom, 0px)); width: 390px; max-width: calc(100% - 32px); height: 650px; max-height: calc(100vh - var(--ns-chat-bottom) - 96px); max-height: calc(100dvh - var(--ns-chat-bottom) - 96px); display: flex; flex-direction: column; overflow: hidden; padding: 0; margin: 0; border: 1px solid #454548; border-top: 3px solid var(--ns-chat-red); border-radius: 16px; background: #111113; box-shadow: 0 15px 65px #000b; isolation: isolate; }
.ns-chat__header { flex: 0 0 auto; display: flex; align-items: center; gap: 10px; padding: 15px 12px 14px 16px; background: #18181a; border-bottom: 1px solid #333337; font: normal 400 14px/1.5 Arial, Helvetica, sans-serif; }
.ns-chat__avatar { display: grid; place-items: center; flex: 0 0 38px; height: 38px; border: 1px solid #f03a30; background: #391714; border-radius: 50%; color: #fff; font-size: 18px; font-weight: 700; }
.ns-chat__heading { flex: 1; min-width: 0; }
.ns-chat__title { margin: 0; font: 700 14px/1.3 Arial, Helvetica, sans-serif; color: #fff; letter-spacing: 0; text-transform: none; overflow-wrap: anywhere; }
.ns-chat__subtitle { margin: 4px 0 0; font-size: 11px; line-height: 1.35; color: #bdbdc3; }
.ns-chat__close { flex: 0 0 38px; height: 38px; border: 0; border-radius: 7px; background: transparent; color: #ddd; font-size: 28px !important; line-height: 1; }
.ns-chat__close:hover { background: #333337; }
.ns-chat__demo { flex: 0 0 auto; padding: 6px 12px; background: #654700; color: #fff4c3; text-align: center; font-size: 12px; font-weight: 700; }
.ns-chat__connection { margin: 0; padding: 8px 16px; color: #d6d6dc; font-size: 12px; background: #232327; flex: 0 0 auto; }
.ns-chat__connection:empty { display: none; }
.ns-chat__fallback { flex: 0 0 auto; max-height: 45%; overflow-y: auto; padding: 14px 16px; border-bottom: 1px solid #79443f; background: #281916; color: #ffe2df; }
.ns-chat__fallback p { margin: 0 0 9px; font-size: 13px; line-height: 1.45; }
.ns-chat__fallback a { display: block; width: fit-content; max-width: 100%; padding: 5px 0; color: #fff; font-size: 14px; font-weight: 700; overflow-wrap: anywhere; }
.ns-chat.ns-chat--unavailable-start .ns-chat__panel { height: auto; }
.ns-chat__welcome { min-height: 0; overflow-y: auto; padding: 18px 20px 14px; overscroll-behavior: contain; }
.ns-chat__intro { margin: 0 0 8px; font-size: 15px; color: #f7f7f7; }
.ns-chat__hint { margin: 0 0 16px; color: #b7b7bf; font-size: 13px; }
.ns-chat__contact fieldset { padding: 0; margin: 0; min-width: 0; border: 0; }
.ns-chat__contact label:not(.ns-chat__consent) { display: block; margin-bottom: 13px; color: #eee; font-size: 13px; font-weight: 700; }
.ns-chat input[type="text"], .ns-chat input[type="tel"], .ns-chat textarea { display: block; width: 100%; min-width: 0; padding: 11px 12px; margin-top: 6px; color: #fff; background: #212125; border: 1px solid #55555b; border-radius: 7px; font-size: 16px; line-height: 1.4; box-shadow: none; }
.ns-chat input::placeholder, .ns-chat textarea::placeholder { color: #a4a4ad; opacity: 1; }
.ns-chat__consent { display: flex; align-items: flex-start; gap: 10px; margin: 17px 0; color: #c8c8ce; font-size: 12px; line-height: 1.45; }
.ns-chat__consent input { width: 19px; height: 19px; margin: 2px 0 0; flex: 0 0 19px; accent-color: var(--ns-chat-red); }
.ns-chat__primary { min-height: 42px; border: 1px solid #f73b31; border-radius: 7px; background: var(--ns-chat-red); color: #fff; padding: 10px 16px; font-weight: 700 !important; }
.ns-chat__primary:hover:not(:disabled) { background: #bd1a13; }
.ns-chat__start { width: 100%; }
.ns-chat__conversation { position: relative; display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; }
.ns-chat__messages { list-style: none; margin: 0; padding: 18px 14px; overflow-y: auto; overscroll-behavior: contain; flex: 1 1 auto; min-height: 0; scrollbar-color: #666 #1a1a1e; }
.ns-chat__message { margin: 0 28px 12px 0; padding: 10px 12px; border: 1px solid #35353a; border-radius: 10px 10px 10px 3px; background: #242428; overflow-wrap: anywhere; }
.ns-chat__message--user { margin-left: 28px; margin-right: 0; border-color: #78302b; border-radius: 10px 10px 3px 10px; background: #411c1a; }
.ns-chat__message--system { margin-right: 0; padding: 8px 10px; background: #19191c; border-color: #333337; font-size: 12px; color: #bbb; text-align: center; }
.ns-chat__message-name { display: block; margin-bottom: 5px; font-size: 11px; font-weight: 700; color: #dedee4; }
.ns-chat__message p { margin: 0; white-space: pre-wrap; line-height: 1.5; font-size: 14px; }
.ns-chat__message time { display: block; margin-top: 5px; text-align: right; color: #b5b5bd; font-size: 10px; }
.ns-chat__new-messages { align-self: center; position: absolute; bottom: 157px; padding: 6px 13px; border: 1px solid #ff6157; border-radius: 20px; background: #631b16; color: #fff; font-size: 12px; box-shadow: 0 3px 12px #0008; }
.ns-chat__composer { padding: 12px 14px 8px; flex: 0 0 auto; border-top: 1px solid #333337; }
.ns-chat__composer > label.ns-chat__sr { position: static; width: auto; height: auto; padding: 0; margin: 0; overflow: visible; clip: auto; white-space: normal; font-size: 0; }
.ns-chat textarea { margin: 0; resize: none; height: 68px; min-height: 68px; max-height: 140px; }
.ns-chat textarea[readonly] { opacity: .8; }
.ns-chat__composer-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 8px; }
.ns-chat__count { color: #b0b0b9; font-size: 11px; }
.ns-chat__send { min-height: 38px; padding: 7px 15px; }
.ns-chat__handoff { align-self: center; border: 0; border-bottom: 1px solid #7c4b47; background: transparent; color: #ff928c; margin: 2px 14px 11px; padding: 3px 0; font-size: 12px; }
.ns-chat__closed { padding: 10px 16px 16px; text-align: center; }
.ns-chat__closed p { margin: 0 0 10px; }
.ns-chat__callback { flex: 0 0 auto; max-height: 40%; overflow-y: auto; padding: 10px 14px; border-top: 1px solid #563a36; background: #231b19; color: #e8deda; font-size: 12px; line-height: 1.4; }
.ns-chat__callback p { margin: 0 0 6px; font-size: 12px; line-height: 1.4; }
.ns-chat__callback a { display: inline-block; max-width: 100%; padding: 4px 0; color: #fff; font-weight: 700; text-decoration: underline; overflow-wrap: anywhere; }
.ns-chat__error { flex: 0 0 auto; padding: 11px 16px; border-top: 1px solid #79443f; background: #371c1a; color: #ffe2df; font-size: 12px; max-height: 155px; overflow-y: auto; }
.ns-chat__error p { margin: 0 0 5px; }
.ns-chat__retry, .ns-chat__edit { border: 0; background: transparent; padding: 5px 12px 5px 0; color: #fff; font-weight: 700 !important; text-decoration: underline; text-underline-offset: 3px; }
.ns-chat__footer { flex: 0 0 auto; margin-top: auto; padding: 8px 15px; border-top: 1px solid #303034; color: #aaaab4; background: #17171a; font-size: 10px; line-height: 1.4; text-align: center; }
.ns-chat__sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (max-width: 680px) {
  .ns-chat__launcher { right: 12px; bottom: calc(var(--ns-chat-mobile-bottom) + env(safe-area-inset-bottom, 0px)); min-height: 48px; padding: 10px 15px; font-size: 13px !important; }
  .ns-chat__panel { right: 8px; bottom: calc(8px + env(safe-area-inset-bottom, 0px)); width: calc(100% - 16px); max-width: 420px; height: 660px; max-height: calc(100vh - 16px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)); max-height: calc(100dvh - 16px - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)); border-radius: 12px; }
  .ns-chat__launcher[aria-expanded="true"] { visibility: hidden; }
  .ns-chat__header { padding: 12px; }
  .ns-chat__welcome { padding: 16px; }
  .ns-chat__title { font-size: 13px; }
}
@media (max-height: 500px) {
  .ns-chat__panel { bottom: 8px; max-height: calc(100dvh - 16px); }
  .ns-chat__header { padding-top: 8px; padding-bottom: 8px; }
  .ns-chat__footer { display: none; }
  .ns-chat textarea { height: 46px; min-height: 46px; }
}
@media (prefers-reduced-motion: reduce) { .ns-chat * { scroll-behavior: auto; } }
