html.crcw-no-scroll,
body.crcw-no-scroll {
  overflow: hidden !important;
}

.crcw-root,
.crcw-root *,
.crcw-root *::before,
.crcw-root *::after {
  box-sizing: border-box !important;
}

.crcw-root [hidden] {
  display: none !important;
}

.crcw-root {
  --crcw-blue-1: #3248d5;
  --crcw-blue-2: #0a1177;
  --crcw-blue-3: #070d59;
  --crcw-surface: #ffffff;
  --crcw-surface-soft: #f7f9ff;
  --crcw-input: #f4f7ff;
  --crcw-text: #121933;
  --crcw-muted: #687291;
  --crcw-border: #d9e0f0;
  --crcw-border-strong: #c7d1e7;
  --crcw-ring: rgba(50, 72, 213, 0.14);
  --crcw-shadow-lg: 0 28px 70px rgba(7, 13, 89, 0.18);
  --crcw-shadow-md: 0 16px 38px rgba(7, 13, 89, 0.22);
  position: fixed !important;
  right: 22px !important;
  bottom: 22px !important;
  z-index: 2147483000 !important;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  color: var(--crcw-text) !important;
  pointer-events: none !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

.crcw-root button,
.crcw-root input,
.crcw-root textarea,
.crcw-root label,
.crcw-root p,
.crcw-root span,
.crcw-root strong,
.crcw-root small,
.crcw-root div,
.crcw-root form,
.crcw-root ul,
.crcw-root li,
.crcw-root svg,
.crcw-root path {
  font-family: inherit !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}

.crcw-root button,
.crcw-root input,
.crcw-root textarea {
  appearance: none !important;
  -webkit-appearance: none !important;
  border: 0 !important;
  outline: none !important;
  box-shadow: none !important;
  margin: 0 !important;
}

.crcw-backdrop,
.crcw-panel,
.crcw-fab {
  pointer-events: auto !important;
}

.crcw-backdrop {
  position: fixed !important;
  inset: 0 !important;
  background: rgba(12, 18, 79, 0.14) !important;
  opacity: 0 !important;
  transition: opacity .22s ease !important;
}

.crcw-root.is-open .crcw-backdrop {
  opacity: 1 !important;
}

.crcw-fab {
  all: unset;
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  gap: 11px !important;
  width: 274px !important;
  min-width: 274px !important;
  max-width: 274px !important;
  min-height: 64px !important;
  padding: 9px 15px 9px 10px !important;
  border-radius: 999px !important;
  overflow: hidden !important;
  cursor: pointer !important;
  background: linear-gradient(135deg, var(--crcw-blue-1) 0%, var(--crcw-blue-2) 78%) !important;
  color: #ffffff !important;
  box-shadow: var(--crcw-shadow-md) !important;
  transition: transform .18s ease, box-shadow .18s ease, opacity .18s ease !important;
}

.crcw-fab::before {
  content: "";
  position: absolute !important;
  inset: 1px !important;
  border-radius: inherit !important;
  background: linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,0)) !important;
  pointer-events: none !important;
}

.crcw-fab:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 20px 44px rgba(7, 13, 89, 0.25) !important;
}

.crcw-fab:focus-visible,
.crcw-close:focus-visible,
.crcw-submit:focus-visible,
.crcw-upload:focus-within,
.crcw-attachments__remove:focus-visible,
.crcw-form input:focus,
.crcw-form textarea:focus {
  outline: none !important;
}

.crcw-fab__icon {
  position: relative !important;
  z-index: 1 !important;
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.08)) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.18), 0 10px 22px rgba(0, 0, 0, 0.10) !important;
}

.crcw-fab__icon svg {
  position: relative !important;
  z-index: 1 !important;
  width: 20px !important;
  height: 20px !important;
  display: block !important;
}

.crcw-fab__text {
  position: relative !important;
  z-index: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  min-width: 0 !important;
}

.crcw-fab__text strong {
  display: block !important;
  color: #ffffff !important;
  font-size: 14px !important;
  line-height: 1.12 !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}

.crcw-fab__text small {
  display: block !important;
  margin-top: 3px !important;
  color: rgba(255,255,255,.9) !important;
  font-size: 11px !important;
  line-height: 1.15 !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
}

.crcw-panel {
  position: fixed !important;
  right: 22px !important;
  bottom: 100px !important;
  width: 396px !important;
  max-width: calc(100vw - 28px) !important;
  max-height: min(86vh, 720px) !important;
  border-radius: 24px !important;
  background: #ffffff !important;
  border: 1px solid rgba(7, 13, 89, 0.08) !important;
  box-shadow: var(--crcw-shadow-lg) !important;
  overflow: hidden !important;
  opacity: 0 !important;
  transform: translateY(14px) scale(.985) !important;
  transition: opacity .22s ease, transform .22s ease !important;
}

.crcw-root.is-open .crcw-panel {
  opacity: 1 !important;
  transform: translateY(0) scale(1) !important;
}

.crcw-root.is-open .crcw-fab {
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translateY(8px) !important;
}

.crcw-panel__header {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 16px 18px !important;
  background: linear-gradient(135deg, var(--crcw-blue-1) 0%, var(--crcw-blue-2) 76%) !important;
  color: #ffffff !important;
}

.crcw-brand {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
}

.crcw-brand__badge {
  width: 48px !important;
  min-width: 48px !important;
  height: 48px !important;
  border-radius: 16px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(255,255,255,.13) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.18) !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  color: #ffffff !important;
}

.crcw-brand__text strong {
  display: block !important;
  margin: 0 0 4px !important;
  font-size: 17px !important;
  line-height: 1.12 !important;
  font-weight: 800 !important;
  color: #ffffff !important;
}

.crcw-brand__text p {
  margin: 0 !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  color: rgba(255,255,255,.92) !important;
}

.crcw-close {
  all: unset;
  width: 40px !important;
  min-width: 40px !important;
  height: 40px !important;
  border-radius: 13px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(255,255,255,.11) !important;
  color: #ffffff !important;
  cursor: pointer !important;
  transition: transform .16s ease, background .16s ease !important;
}

.crcw-close:hover {
  transform: scale(1.04) !important;
  background: rgba(255,255,255,.18) !important;
}

.crcw-close svg {
  width: 19px !important;
  height: 19px !important;
  display: block !important;
}

.crcw-panel__body {
  padding: 14px 18px 16px !important;
  max-height: calc(min(86vh, 720px) - 80px) !important;
  overflow: auto !important;
  background: #ffffff !important;
}

.crcw-status-pill {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-height: 34px !important;
  padding: 7px 12px !important;
  border-radius: 999px !important;
  background: var(--crcw-surface-soft) !important;
  border: 1px solid var(--crcw-border) !important;
  color: var(--crcw-blue-3) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}

.crcw-status-dot {
  width: 8px !important;
  height: 8px !important;
  border-radius: 50% !important;
  background: #17a34a !important;
  box-shadow: 0 0 0 4px rgba(23,163,74,.12) !important;
}

.crcw-help {
  margin: 11px 0 13px !important;
  color: #182237 !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}

.crcw-form {
  display: grid !important;
  gap: 11px !important;
}

.crcw-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 11px !important;
}

.crcw-form label {
  display: grid !important;
  gap: 6px !important;
}

.crcw-form > label > span,
.crcw-grid label > span,
.crcw-attachments__head > span {
  display: block !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  color: #10172d !important;
}

.crcw-form input[type="text"],
.crcw-form input[type="email"],
.crcw-form textarea {
  all: unset;
  display: block !important;
  width: 100% !important;
  min-height: 46px !important;
  padding: 12px 14px !important;
  border-radius: 15px !important;
  border: 1px solid var(--crcw-border) !important;
  background: var(--crcw-input) !important;
  color: #10172d !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 500 !important;
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease !important;
}

.crcw-form textarea {
  min-height: 108px !important;
  max-height: 180px !important;
  resize: vertical !important;
  background: #ffffff !important;
}

.crcw-form input[type="text"]::placeholder,
.crcw-form input[type="email"]::placeholder,
.crcw-form textarea::placeholder {
  color: #8a92ad !important;
  opacity: 1 !important;
}

.crcw-form input[type="text"]:focus,
.crcw-form input[type="email"]:focus,
.crcw-form textarea:focus,
.crcw-upload:focus-within {
  border-color: #5168e0 !important;
  background: #ffffff !important;
  box-shadow: 0 0 0 4px var(--crcw-ring) !important;
}

.crcw-attachments {
  display: grid !important;
  gap: 8px !important;
}

.crcw-attachments__head {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 10px !important;
}

.crcw-attachments__head small {
  margin: 0 !important;
  color: var(--crcw-muted) !important;
  font-size: 11px !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
  text-align: right !important;
}

.crcw-upload {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 48px !important;
  padding: 9px 12px !important;
  border-radius: 15px !important;
  border: 1px dashed var(--crcw-border-strong) !important;
  background: #fbfcff !important;
  cursor: pointer !important;
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease !important;
}

.crcw-upload:hover {
  border-color: #5168e0 !important;
  background: #ffffff !important;
}

.crcw-upload input[type="file"] {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 0 !important;
  cursor: pointer !important;
}

.crcw-upload__icon {
  width: 30px !important;
  min-width: 30px !important;
  height: 30px !important;
  border-radius: 11px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: var(--crcw-blue-2) !important;
  background: #eef2ff !important;
}

.crcw-upload__icon svg {
  width: 17px !important;
  height: 17px !important;
  display: block !important;
}

.crcw-upload__text {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  min-width: 0 !important;
}

.crcw-upload__text strong {
  color: #121933 !important;
  font-size: 13px !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;
}

.crcw-upload__text small {
  color: var(--crcw-muted) !important;
  font-size: 11px !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
}

.crcw-attachments__list {
  display: grid !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.crcw-attachments__item {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  padding: 8px 10px !important;
  border-radius: 13px !important;
  background: #f6f8ff !important;
  border: 1px solid #e0e6f4 !important;
}

.crcw-attachments__file {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  min-width: 0 !important;
}

.crcw-attachments__file strong {
  display: block !important;
  max-width: 220px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  color: #121933 !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
}

.crcw-attachments__file small {
  color: var(--crcw-muted) !important;
  font-size: 11px !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
}

.crcw-attachments__remove {
  all: unset;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 28px !important;
  padding: 0 9px !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  border: 1px solid #dce3f2 !important;
  color: #46506e !important;
  cursor: pointer !important;
  font-size: 11px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
}

.crcw-attachments__remove:hover {
  color: #c02038 !important;
  border-color: #ffd0d8 !important;
  background: #fff7f8 !important;
}

.crcw-attachments__error {
  margin: 0 !important;
  padding: 9px 10px !important;
  border-radius: 12px !important;
  background: #fff1f2 !important;
  border: 1px solid #ffd0d8 !important;
  color: #c02038 !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}

.crcw-hp {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  margin: -1px !important;
  padding: 0 !important;
  clip: rect(0,0,0,0) !important;
}

.crcw-footer {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 12px !important;
}

.crcw-footer p {
  margin: 0 !important;
  color: #79819c !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;
}

.crcw-submit {
  all: unset;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 174px !important;
  height: 48px !important;
  padding: 0 19px !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, var(--crcw-blue-1) 0%, var(--crcw-blue-2) 78%) !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-align: center !important;
  white-space: nowrap !important;
  cursor: pointer !important;
  box-shadow: 0 13px 26px rgba(7, 13, 89, 0.18) !important;
  transition: transform .16s ease, box-shadow .16s ease, opacity .16s ease !important;
}

.crcw-submit:hover:not(:disabled) {
  transform: translateY(-1px) !important;
  box-shadow: 0 17px 34px rgba(7, 13, 89, 0.24) !important;
}

.crcw-submit:disabled {
  opacity: .72 !important;
  cursor: wait !important;
}

.crcw-feedback {
  padding: 11px 12px !important;
  border-radius: 13px !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
  font-weight: 800 !important;
}

.crcw-feedback.is-success {
  background: #edf9f0 !important;
  color: #11783b !important;
  border: 1px solid #caebd2 !important;
}

.crcw-feedback.is-error {
  background: #fff1f2 !important;
  color: #c02038 !important;
  border: 1px solid #ffd0d8 !important;
}

.crcw-feedback.is-neutral {
  background: #f4f6fb !important;
  color: #4b587b !important;
  border: 1px solid #dde3f0 !important;
}

@media (max-width: 782px) {
  .crcw-root {
    right: 14px !important;
    bottom: max(14px, env(safe-area-inset-bottom)) !important;
  }

  .crcw-fab {
    width: 228px !important;
    min-width: 228px !important;
    max-width: min(228px, calc(100vw - 44px)) !important;
    min-height: 58px !important;
    padding: 8px 13px 8px 9px !important;
  }

  .crcw-fab__icon {
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
  }

  .crcw-fab__text strong {
    font-size: 13px !important;
  }

  .crcw-fab__text small {
    font-size: 10px !important;
  }

  .crcw-panel {
    right: 10px !important;
    bottom: calc(84px + env(safe-area-inset-bottom)) !important;
    width: min(396px, calc(100vw - 20px)) !important;
    max-width: min(396px, calc(100vw - 20px)) !important;
    max-height: calc(100dvh - 98px - env(safe-area-inset-bottom)) !important;
    border-radius: 22px !important;
  }

  .crcw-panel__header {
    padding: 14px 15px !important;
  }

  .crcw-panel__body {
    max-height: calc(100dvh - 172px - env(safe-area-inset-bottom)) !important;
    padding: 13px 15px 15px !important;
  }

  .crcw-brand__badge {
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    border-radius: 14px !important;
    font-size: 15px !important;
  }

  .crcw-brand__text strong {
    font-size: 16px !important;
  }

  .crcw-brand__text p {
    font-size: 12px !important;
  }

  .crcw-close {
    width: 38px !important;
    min-width: 38px !important;
    height: 38px !important;
  }

  .crcw-status-pill {
    display: none !important;
  }

  .crcw-help {
    margin: 1px 0 10px !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
  }

  .crcw-form {
    gap: 10px !important;
  }

  .crcw-grid,
  .crcw-footer {
    grid-template-columns: 1fr !important;
    display: grid !important;
    gap: 9px !important;
  }

  .crcw-form input[type="text"],
  .crcw-form input[type="email"],
  .crcw-form textarea {
    min-height: 44px !important;
    padding: 11px 13px !important;
    border-radius: 14px !important;
    font-size: 14px !important;
  }

  .crcw-form textarea {
    min-height: 88px !important;
    max-height: 110px !important;
  }

  .crcw-attachments__head {
    align-items: flex-start !important;
    flex-direction: column !important;
    gap: 3px !important;
  }

  .crcw-attachments__head small {
    text-align: left !important;
  }

  .crcw-submit {
    width: auto !important;
    min-width: 180px !important;
    justify-self: end !important;
    height: 46px !important;
  }
}

@media (max-width: 480px) {
  .crcw-root {
    right: 10px !important;
    bottom: max(10px, env(safe-area-inset-bottom)) !important;
  }

  .crcw-fab {
    width: 204px !important;
    min-width: 204px !important;
    max-width: min(204px, calc(100vw - 36px)) !important;
    min-height: 54px !important;
    padding: 8px 11px 8px 9px !important;
  }

  .crcw-fab__icon {
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
  }

  .crcw-fab__icon svg {
    width: 17px !important;
    height: 17px !important;
  }

  .crcw-fab__text strong {
    font-size: 12px !important;
  }

  .crcw-fab__text small {
    font-size: 9px !important;
    margin-top: 2px !important;
  }

  .crcw-panel {
    right: 8px !important;
    bottom: calc(76px + env(safe-area-inset-bottom)) !important;
    width: min(390px, calc(100vw - 16px)) !important;
    max-width: min(390px, calc(100vw - 16px)) !important;
    max-height: calc(100dvh - 88px - env(safe-area-inset-bottom)) !important;
    border-radius: 20px !important;
  }

  .crcw-panel__header {
    padding: 13px 13px !important;
  }

  .crcw-brand {
    gap: 10px !important;
  }

  .crcw-brand__badge {
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    border-radius: 13px !important;
    font-size: 14px !important;
  }

  .crcw-brand__text strong {
    font-size: 15px !important;
    margin-bottom: 3px !important;
  }

  .crcw-brand__text p {
    font-size: 11px !important;
    line-height: 1.32 !important;
  }

  .crcw-close {
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
    border-radius: 12px !important;
  }

  .crcw-panel__body {
    max-height: calc(100dvh - 156px - env(safe-area-inset-bottom)) !important;
    padding: 12px 13px 13px !important;
  }

  .crcw-help {
    font-size: 13px !important;
    margin: 0 0 8px !important;
  }

  .crcw-form {
    gap: 8px !important;
  }

  .crcw-form input[type="text"],
  .crcw-form input[type="email"],
  .crcw-form textarea {
    min-height: 42px !important;
    padding: 10px 12px !important;
    border-radius: 13px !important;
    font-size: 14px !important;
  }

  .crcw-form textarea {
    min-height: 82px !important;
    max-height: 96px !important;
  }

  .crcw-upload {
    min-height: 44px !important;
    padding: 8px 10px !important;
    border-radius: 13px !important;
  }

  .crcw-upload__icon {
    width: 28px !important;
    min-width: 28px !important;
    height: 28px !important;
  }

  .crcw-upload__text strong,
  .crcw-attachments__file strong {
    font-size: 12px !important;
  }

  .crcw-upload__text small,
  .crcw-attachments__file small {
    font-size: 10px !important;
  }

  .crcw-attachments__file strong {
    max-width: 190px !important;
  }

  .crcw-footer p {
    font-size: 11px !important;
  }

  .crcw-submit {
    width: 100% !important;
    min-width: 100% !important;
    height: 46px !important;
    justify-self: stretch !important;
    font-size: 13px !important;
  }
}
