.cq-public-page .cq-field[aria-invalid="true"] { outline: 2px solid #bd3b4b !important; outline-offset: 4px !important; }
.cq-public-page .cq-locked-value { display: block !important; padding: 12px !important; border: 1px solid #dce5f0 !important; border-radius: 10px !important; }
.cq-public-page .cq-bmi-summary { line-height: 1.7 !important; }
.cq-public-page .cq-options small { display: block !important; line-height: 1.5 !important; }
.cq-public-page .cq-input-wrap > select { min-height:44px !important; padding-right:80px !important; }
.cq-public-page .cq-input-wrap > select + em { right:36px !important; }
.cq-public-page {
  min-height: 100vh !important;
  padding: 52px 24px 80px !important;
  background: #f4f7fb !important;
  color: #172337 !important;
}
.cq-public-page .cq-public-card {
  width: min(960px, 100%) !important;
  margin: 0 auto !important;
  overflow: hidden !important;
  border: 1px solid #dce5f0 !important;
  border-radius: 24px !important;
  background: #fff !important;
  box-shadow: 0 20px 60px rgba(40, 59, 89, 0.12) !important;
}
.cq-public-page .cq-state {
  min-height: 300px !important;
  display: grid !important;
  place-content: center !important;
  gap: 12px !important;
  text-align: center !important;
  color: #526176 !important;
  padding: 32px !important;
}
.cq-public-page .cq-state h1 {
  margin: 0 !important;
  color: #172337 !important;
}
.cq-public-page .cq-state p {
  max-width: 420px !important;
  margin: 0 !important;
  line-height: 1.7 !important;
}
.cq-public-page .cq-spin {
  animation: pcq-rotate 1.1s linear infinite !important;
  margin: auto !important;
}
.cq-public-page .cq-public-head {
  position: relative !important;
  padding: 40px 48px 28px !important;
  background: #1e3a5f !important;
  color: #fff !important;
}
.cq-public-page .cq-public-head > div {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 16px !important;
  color: #c6d8ed !important;
  font-size: 14px !important;
}
.cq-public-page .cq-public-head h1 {
  margin: 18px 0 8px !important;
  font-size: clamp(28px, 4vw, 40px) !important;
  letter-spacing: -0.04em !important;
}
.cq-public-page .cq-public-head p {
  max-width: 680px !important;
  margin: 0 !important;
  color: #dce9f6 !important;
  line-height: 1.7 !important;
}
.cq-public-page .cq-public-head .cq-progress-track {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  display: block !important;
  height: 4px !important;
  background: #84c5d6 !important;
  transition: width 0.2s ease !important;
}
.cq-public-page .cq-stepper {
  display: flex !important;
  gap: 8px !important;
  overflow-x: auto !important;
  margin: 0 !important;
  padding: 18px 48px !important;
  border-bottom: 1px solid #e7edf4 !important;
  list-style: none !important;
}
.cq-public-page .cq-stepper li {
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  flex: 1 0 max-content !important;
  color: #7b8798 !important;
  font-size: 12px !important;
}
.cq-public-page .cq-stepper button {
  display: grid !important;
  place-items: center !important;
  width: 25px !important;
  height: 25px !important;
  border: 1px solid #cbd6e5 !important;
  border-radius: 50% !important;
  background: #fff !important;
  color: inherit !important;
  cursor: pointer !important;
}
.cq-public-page .cq-stepper button:disabled {
  cursor: default !important;
}
.cq-public-page .cq-stepper .is-current,
.cq-public-page .cq-stepper .is-done {
  color: #1e3a5f !important;
  font-weight: 700 !important;
}
.cq-public-page .cq-stepper .is-current button,
.cq-public-page .cq-stepper .is-done button {
  border-color: #1e3a5f !important;
  background: #1e3a5f !important;
  color: #fff !important;
}
.cq-public-page .cq-form-step {
  padding: 34px 48px 42px !important;
}
.cq-public-page .cq-form-step > header span {
  color: #738297 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}
.cq-public-page .cq-form-step > header h2 {
  margin: 6px 0 26px !important;
  font-size: 26px !important;
}
.cq-public-page .cq-field {
  display: block !important;
  padding: 19px 0 !important;
  border-top: 1px solid #edf1f6 !important;
}
.cq-public-page .cq-field > span {
  display: block !important;
  margin-bottom: 11px !important;
  color: #25354b !important;
  font-size: 15px !important;
  font-weight: 700 !important;
}
.cq-public-page .cq-field b,
.cq-public-page .cq-matrix b {
  color: #bd3b4b !important;
  margin-left: 3px !important;
}
.cq-public-page .cq-field input,
.cq-public-page .cq-field textarea,
.cq-public-page .cq-field select {
  box-sizing: border-box !important;
  width: 100% !important;
  border: 1px solid #cbd6e5 !important;
  border-radius: 10px !important;
  padding: 11px 13px !important;
  background: #fff !important;
  color: #172337 !important;
  font: inherit !important;
  outline: none !important;
}
.cq-public-page .cq-field input:focus,
.cq-public-page .cq-field textarea:focus {
  border-color: #285b8e !important;
  box-shadow: 0 0 0 3px rgba(40, 91, 142, 0.12) !important;
}
.cq-public-page .cq-field textarea {
  min-height: 100px !important;
  resize: vertical !important;
  line-height: 1.6 !important;
}
.cq-public-page .cq-note {
  display: grid !important;
  gap: 7px !important;
  margin-top: 12px !important;
  padding: 12px !important;
  border-radius: 10px !important;
  background: #f6f8fb !important;
}
.cq-public-page .cq-note > span {
  margin: 0 !important;
  color: #526176 !important;
  font-size: 13px !important;
  font-weight: 700 !important;
}
.cq-public-page .cq-input-wrap,
.cq-public-page .cq-matrix label > div {
  position: relative !important;
}
.cq-public-page .cq-input-wrap em,
.cq-public-page .cq-matrix em {
  position: absolute !important;
  right: 13px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  color: #728095 !important;
  font-size: 13px !important;
  font-style: normal !important;
  pointer-events: none !important;
}
.cq-public-page .cq-input-wrap em + input,
.cq-public-page .cq-matrix em + input {
  padding-right: 66px !important;
}
.cq-public-page .cq-options {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 9px !important;
}
.cq-public-page .cq-options button {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  min-height: 40px !important;
  border: 1px solid #ccd7e5 !important;
  border-radius: 10px !important;
  padding: 8px 12px !important;
  background: #fff !important;
  color: #33455d !important;
  cursor: pointer !important;
  font: inherit !important;
  text-align: left !important;
}
.cq-public-page .cq-options button.is-selected {
  border-color: #2d628f !important;
  background: #edf6fb !important;
  color: #174469 !important;
  font-weight: 700 !important;
}
.cq-public-page .cq-options i {
  display: grid !important;
  place-items: center !important;
  width: 16px !important;
  height: 16px !important;
  border: 1px solid currentColor !important;
  border-radius: 50% !important;
  font-style: normal !important;
}
.cq-public-page .cq-matrix {
  display: grid !important;
  gap: 11px !important;
  padding: 14px !important;
  border-radius: 13px !important;
  background: #f6f8fb !important;
}
.cq-public-page .cq-matrix label {
  display: grid !important;
  grid-template-columns: 150px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 12px !important;
  color: #526176 !important;
  font-size: 14px !important;
}
.cq-public-page .cq-feedback {
  margin: 22px 0 0 !important;
  border-radius: 10px !important;
  padding: 11px 13px !important;
  background: #fff2f2 !important;
  color: #a33444 !important;
  line-height: 1.5 !important;
}
.cq-public-page .cq-form-step footer {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 18px !important;
  margin-top: 32px !important;
  color: #66768a !important;
  font-size: 13px !important;
}
.cq-public-page .cq-form-step footer > div:last-child {
  display: flex !important;
  gap: 10px !important;
}
.cq-public-page .cq-primary,
.cq-public-page .cq-secondary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  border-radius: 10px !important;
  padding: 11px 16px !important;
  cursor: pointer !important;
  font: inherit !important;
  font-weight: 700 !important;
}
.cq-public-page .cq-primary {
  border: 1px solid #1e3a5f !important;
  background: #1e3a5f !important;
  color: #fff !important;
}
.cq-public-page .cq-primary:disabled {
  opacity: 0.6 !important;
  cursor: wait !important;
}
.cq-public-page .cq-secondary {
  border: 1px solid #cbd6e5 !important;
  background: #fff !important;
  color: #34475f !important;
}
@keyframes pcq-rotate {
  to {
    transform: rotate(360deg);
  }
}
@media (max-width: 640px) {
  .cq-public-page {
    padding: 0 !important;
  }
  .cq-public-page .cq-public-card {
    border: 0 !important;
    border-radius: 0 !important;
    min-height: 100vh !important;
  }
  .cq-public-page .cq-public-head,
  .cq-public-page .cq-form-step {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .cq-public-page .cq-stepper {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .cq-public-page .cq-stepper span {
    display: none !important;
  }
  .cq-public-page .cq-matrix label {
    grid-template-columns: 1fr !important;
    gap: 6px !important;
  }
  .cq-public-page .cq-form-step footer {
    align-items: flex-start !important;
    flex-direction: column !important;
  }
  .cq-public-page .cq-form-step footer > div:last-child {
    width: 100% !important;
  }
  .cq-public-page .cq-form-step footer button {
    flex: 1 !important;
  }
}
/* Public customer documents must not inherit the workspace/system theme. */
.cq-public-page { color-scheme:light !important; font:16px/1.6 "Microsoft YaHei", "PingFang SC", sans-serif !important; }
.cq-public-page *, .cq-public-page *::before, .cq-public-page *::after { box-sizing:border-box !important; }
.cq-public-page :is(h1,h2,h3,p,button) { font-family:inherit !important; }
@media(prefers-reduced-motion:reduce) { .cq-public-page .cq-spin { animation:none !important; } .cq-public-page .cq-public-head .cq-progress-track { transition:none !important; } }

.cq-public-page{--cq-bg:#f4f7fb;--cq-surface:#fff;--cq-ink:#172337;--cq-muted:#526176;--cq-line:#dce5f0;--cq-accent:#1e3a5f}
.cq-public-page .cq-public-head h1{color:#fff!important}
.cq-public-page .cq-public-head strong,.cq-public-page .cq-public-head .cq-expiry{color:#c6d8ed!important;font-size:14px!important}
.cq-public-page .cq-stepper button{min-width:25px!important;min-height:25px!important;width:25px!important;height:25px!important;line-height:normal!important;padding:0!important;flex:0 0 25px!important;box-shadow:none!important}
.cq-public-page .cq-matrix-input input,.cq-public-page .cq-matrix-table th,.cq-public-page .cq-locked-value{font-weight:400!important}
.cq-public-page .cq-locked-value{background:#fff!important}
.cq-public-page .cq-form-fields{display:block!important;margin-top:0!important}
.cq-public-page .cq-stepper li{flex-direction:row!important;justify-content:flex-start!important}
.cq-public-page .cq-stepper li>span{white-space:nowrap}
.cq-public-page .cq-public-head .cq-progress-track{width:100%!important;background:transparent!important;margin:0!important;border-radius:0!important}
.cq-public-page .cq-progress-track i{display:block!important;height:4px!important;background:#84c5d6!important;border-radius:0!important}
.cq-public-page .cq-input-wrap>span{color:#728095!important;right:36px!important}
.cq-public-page .cq-form-step>header{padding:0!important;border:0!important;background:transparent!important}
.cq-public-page .cq-form-step>header p{color:#526176!important;font-size:14px!important}
.cq-public-page .cq-form-actions>div>button:not(.cq-primary){border:1px solid #cbd6e5!important;border-radius:10px!important;background:#fff!important;color:#34475f!important;padding:11px 16px!important}
