.twodcnc-chat-mounted {
  position: fixed;
  z-index: 999999;
  bottom: 18px;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  color: #1f2933;
}
.twodcnc-pos-right { right: 18px; }
.twodcnc-pos-left { left: 18px; }
.twodcnc-bubble {
  border: 0;
  border-radius: 999px;
  background: #f26a21;
  color: #fff;
  height: 48px;
  padding: 0 17px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  box-shadow: 0 14px 36px rgba(0,0,0,.22);
  cursor: pointer;
  font-weight: 700;
  font-size: 14px;
}
.twodcnc-bubble-icon {
  width: 24px;
  height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(255,255,255,.2);
}
.twodcnc-panel {
  display: none;
  width: 380px;
  max-width: calc(100vw - 32px);
  height: min(640px, calc(100vh - 104px));
  background: #fff;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 24px 70px rgba(17, 24, 39, .30);
  margin-bottom: 14px;
  border: 1px solid rgba(17,24,39,.08);
}
.twodcnc-open .twodcnc-panel { display: flex; flex-direction: column; }
.twodcnc-header {
  height: 72px;
  background: linear-gradient(135deg, #ff7a22, #e75b19);
  color: #fff;
  display: flex;
  align-items: center;
  padding: 0 18px;
  gap: 12px;
}
.twodcnc-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: rgba(255,255,255,.20);
  border: 1px solid rgba(255,255,255,.35);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  letter-spacing: -.02em;
}
.twodcnc-header-text { flex: 1; min-width: 0; }
.twodcnc-title { font-weight: 700; font-size: 17px; line-height: 1.2; }
.twodcnc-subtitle { font-size: 13px; opacity: .94; margin-top: 3px; display: flex; align-items: center; gap: 6px; }
.twodcnc-dot { width: 8px; height: 8px; background: #46d36a; border-radius: 50%; box-shadow: 0 0 0 2px rgba(255,255,255,.28); }
.twodcnc-close {
  border: 0;
  background: rgba(255,255,255,.14);
  color: #fff;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  font-size: 24px;
  cursor: pointer;
  line-height: 1;
}
.twodcnc-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  background: #f4f6f8;
  min-height: 0;
}
.twodcnc-start {
  padding: 18px;
  overflow: auto;
}
.twodcnc-welcome-card {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  padding: 18px;
  box-shadow: 0 8px 24px rgba(17,24,39,.06);
}
.twodcnc-intro { margin: 0 0 12px; line-height: 1.45; font-size: 14px; }
.twodcnc-email-prompt { margin: 0 0 12px; line-height: 1.45; color: #4b5563; font-size: 13px; }
.twodcnc-email, .twodcnc-name, .twodcnc-input {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #d6dbe1;
  border-radius: 12px;
  padding: 12px 13px;
  font-size: 14px;
  outline: none;
  background: #fff;
}
.twodcnc-email:focus, .twodcnc-name:focus, .twodcnc-input:focus { border-color: #f26a21; box-shadow: 0 0 0 3px rgba(242,106,33,.14); }
.twodcnc-name { margin-top: 10px; }
.twodcnc-hp { position: absolute; left: -99999px; width: 1px; height: 1px; opacity: 0; }
.twodcnc-start-btn, .twodcnc-send, .twodcnc-finish {
  border: 0;
  background: #f26a21;
  color: #fff;
  border-radius: 12px;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 8px 20px rgba(242,106,33,.22);
}
.twodcnc-start-btn { width: 100%; padding: 10px 14px; margin-top: 12px; min-height: 44px; text-transform: none !important; letter-spacing: 0 !important; }
.twodcnc-start-btn:disabled, .twodcnc-send:disabled, .twodcnc-finish:disabled { opacity: .6; cursor: default; }
.twodcnc-form-error { color: #b42318; font-size: 12px; margin-top: 8px; min-height: 16px; }
.twodcnc-messages {
  flex: 1;
  padding: 16px;
  overflow: auto;
  min-height: 0;
}
.twodcnc-msg { display: flex; margin: 0 0 10px; }
.twodcnc-msg-user { justify-content: flex-end; }
.twodcnc-msg-bot { justify-content: flex-start; }
.twodcnc-msg-bubble {
  max-width: 82%;
  padding: 11px 13px;
  border-radius: 16px;
  font-size: 14px;
  line-height: 1.43;
  white-space: pre-wrap;
  box-shadow: 0 4px 14px rgba(17,24,39,.06);
}
.twodcnc-msg-bot .twodcnc-msg-bubble {
  background: #fff;
  color: #1f2933;
  border-bottom-left-radius: 5px;
}
.twodcnc-msg-user .twodcnc-msg-bubble {
  background: #f26a21;
  color: #fff;
  border-bottom-right-radius: 5px;
}
.twodcnc-typing .twodcnc-msg-bubble { color: #6b7280; font-style: italic; }
.twodcnc-finish-row {
  padding: 9px 14px;
  border-top: 1px solid #e5e7eb;
  background: #fff;
}
.twodcnc-copy-label {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  font-size: 12px;
  color: #4b5563;
  margin-bottom: 7px;
  line-height: 1.35;
}
.twodcnc-finish {
  width: 100%;
  min-height: 44px;
  padding: 9px 12px;
  background: #111827;
  box-shadow: none;
  font-size: 13px;
  letter-spacing: 0;
  text-transform: none;
}
.twodcnc-input-row {
  display: flex;
  gap: 8px;
  padding: 11px 14px 13px;
  background: #fff;
  border-top: 1px solid #e5e7eb;
}
.twodcnc-input {
  resize: none;
  height: 42px;
  min-height: 42px;
  max-height: 92px;
  flex: 1;
  overflow: hidden;
}
.twodcnc-send {
  min-width: 72px;
  padding: 0 14px;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.twodcnc-bubble { text-transform: none !important; }
.twodcnc-faq { max-width: 920px; margin: 0 auto; }
.twodcnc-faq-category { margin: 0 0 38px; }
.twodcnc-faq-category h2 { margin: 0 0 16px; }
.twodcnc-faq-item { padding: 18px 0; border-top: 1px solid #e5e7eb; }
.twodcnc-faq-item h3 { margin: 0 0 8px; }
.twodcnc-faq-item p { margin: 0 0 8px; }
@media (max-width: 480px) {
  .twodcnc-chat-mounted { right: 12px; left: 12px; bottom: 12px; }
  .twodcnc-panel { width: auto; height: calc(100vh - 88px); }
  .twodcnc-bubble { float: right; }
  .twodcnc-pos-left .twodcnc-bubble { float: left; }
}

.twodcnc-privacy-note {
  margin: 9px 2px 0;
  font-size: 11px;
  line-height: 1.35;
  color: #667085;
}
.twodcnc-privacy-note a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}
