/* Editable questionnaire content, with the approved blue-and-white presentation. */
.hsbq-app {
  --hsbq-navy: #0d3159;
  --hsbq-blue: #0065ef;
  --hsbq-line: #e4eaf2;
  --hsbq-muted: #52637c;
  width: 100%;
  max-width: 1120px;
  min-width: 0;
  margin: 0 auto;
  padding: 0;
  position: relative;
  overflow: hidden;
  border: 1px solid #e6edf4;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 4px 12px #0b315c06, 0 20px 48px #0b315c12;
  color: var(--hsbq-navy);
  font: 400 15px/1.6 Arial, "Microsoft YaHei", Helvetica, sans-serif;
  overflow-wrap: anywhere;
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
}
.hsbq-app *, .hsbq-app *::before, .hsbq-app *::after { box-sizing: border-box; }
.hsbq-app [hidden] { display: none !important; }
.hsbq-app p { margin: 0 0 12px; line-height: 1.65; text-wrap: pretty; }
.hsbq-app p:last-child { margin-bottom: 0; }
.hsbq-app .hsbq-layout { display: grid; grid-template-columns: 224px minmax(0, 1fr); min-height: 680px; }
.hsbq-app .hsbq-sidebar { display: flex; flex-direction: column; min-width: 0; padding: 32px 25px; background: #10375f linear-gradient(155deg, #10375f 0%, #0c2e52 100%); color: #fff; }
.hsbq-app .hsbq-brand { display: flex; align-items: center; flex-shrink: 0; gap: 11px; margin: 0 0 36px; color: #fff; font: 500 19px/1.3 Arial, "Microsoft YaHei", Helvetica, sans-serif; letter-spacing: -.02em; white-space: nowrap; }
.hsbq-app .hsbq-brand-logo { display: block; flex: 0 0 31px; width: 31px; height: 31px; object-fit: contain; border-radius: 4px; }
.hsbq-app .hsbq-brand-text { min-width: 0; }
.hsbq-app .hsbq-sidebar-title { display: none; }
.hsbq-app .hsbq-step-list { flex: 0 0 auto; padding: 0; margin: 0; list-style: none; min-width: 0; }
.hsbq-app .hsbq-step-item { display: flex; align-items: flex-start; gap: 13px; position: relative; min-height: 45px; padding: 0 0 18px; color: #bdcde0; font-size: 13px; line-height: 1.45; }
.hsbq-app .hsbq-step-item:not(:last-child)::after { content: ""; position: absolute; left: 9px; top: 25px; bottom: 4px; width: 1px; background: #829cb857; }
.hsbq-app .hsbq-step-number { display: flex; align-items: center; justify-content: center; position: relative; flex: 0 0 19px; width: 19px; height: 19px; margin: 1px 0 0; border: 1.5px solid #86a4c3; border-radius: 50%; color: transparent; font-size: 0; background: #113759; }
.hsbq-app .hsbq-step-label { display: block; min-width: 0; padding-top: 1px; }
.hsbq-app .hsbq-step-item.is-current { color: #fff; font-weight: 600; }
.hsbq-app .hsbq-step-item.is-current .hsbq-step-number { border: 5px solid #8ac0ff; background: var(--hsbq-blue); box-shadow: 0 0 0 4px #438de94d; }
.hsbq-app .hsbq-step-item.is-complete .hsbq-step-number { border-color: #8fc2ff; background: #2779df; color: #fff; }
.hsbq-app .hsbq-step-item.is-complete .hsbq-step-number::after { content: ""; width: 8px; height: 4px; border-left: 1.5px solid #fff; border-bottom: 1.5px solid #fff; transform: rotate(-45deg) translateY(-1px); }
.hsbq-app .hsbq-sidebar-description { display: none; }
.hsbq-app form.hsbq-content { display: flex; flex-direction: column; margin: 0; width: 100%; min-width: 0; min-height: 0; background: #fff; }
.hsbq-app .hsbq-scroll { flex: 1; min-width: 0; min-height: 0; padding: 32px 40px 36px; }
.hsbq-app .hsbq-panel-header { margin: 0 0 28px; padding: 0 0 24px; border-bottom: 1px solid var(--hsbq-line); }
.hsbq-app .hsbq-kicker { margin: 0 0 8px; color: #42638c; font-size: 11px; line-height: 1.5; letter-spacing: .045em; text-transform: uppercase; }
.hsbq-app .hsbq-progress { display: flex; align-items: center; gap: 15px; margin: 0 0 24px; width: min(100%, 380px); color: #73879e; font-size: 11px; font-variant-numeric: tabular-nums; }
.hsbq-app .hsbq-progress-text { order: 1; flex: 0 0 auto; color: #657d98; line-height: 1.3; }
.hsbq-app progress { appearance: none; -webkit-appearance: none; display: block; flex: 1; width: 100%; min-width: 0; height: 5px; border: 0; border-radius: 5px; overflow: hidden; background: #e9eef5; color: var(--hsbq-blue); }
.hsbq-app progress::-webkit-progress-bar { background: #e9eef5; border-radius: 5px; }
.hsbq-app progress::-webkit-progress-value { background: var(--hsbq-blue); border-radius: 5px; transition: width .18s ease; }
.hsbq-app progress::-moz-progress-bar { background: var(--hsbq-blue); border-radius: 5px; }
.hsbq-app h3.hsbq-panel-title { display: block; margin: 0 0 9px; color: #0c2c58; font: 700 36px/1.15 Arial, "Microsoft YaHei", Helvetica, sans-serif; letter-spacing: -.035em; text-wrap: balance; }
.hsbq-app .hsbq-panel-description { margin: 0; max-width: 670px; color: var(--hsbq-muted); font-size: 15px; line-height: 1.6; }
.hsbq-app .hsbq-section { scroll-margin-top: 24px; min-width: 0; }
.hsbq-app .hsbq-section:focus { outline: none; }
.hsbq-app .hsbq-section:focus-visible { outline: 3px solid #8abdf3; outline-offset: 5px; border-radius: 4px; }
.hsbq-app .hsbq-questions { display: grid; grid-template-columns: minmax(0, 1fr); align-items: start; gap: 24px; min-width: 0; }
.hsbq-app .hsbq-project-fields { grid-template-columns: minmax(0, 1fr); }
.hsbq-app .hsbq-project-fields > .hsbq-question { grid-column: 1 / -1; }
.hsbq-app .hsbq-question { min-width: 0; min-inline-size: 0; width: 100%; margin: 0; padding: 0 0 24px; border: 0; border-bottom: 1px solid var(--hsbq-line); border-radius: 0; background: transparent; box-shadow: none; }
.hsbq-app .hsbq-question:last-child { padding-bottom: 0; border-bottom: 0; }
.hsbq-app .hsbq-question-label { display: block; float: none; width: 100%; padding: 0; margin: 0 0 11px; color: #123763; font: 600 14px/1.55 Arial, "Microsoft YaHei", Helvetica, sans-serif; white-space: normal; letter-spacing: -.01em; }
.hsbq-app .hsbq-question-number { display: inline-block; min-width: 22px; margin-right: 4px; white-space: nowrap; font-variant-numeric: tabular-nums; }
.hsbq-app fieldset.hsbq-question > .hsbq-question-label { float: left; }
.hsbq-app fieldset.hsbq-question > .hsbq-question-label + * { clear: both; }
.hsbq-app .hsbq-required { display: inline; margin-left: 4px; color: var(--hsbq-blue); font-size: 0; font-weight: 600; }
.hsbq-app .hsbq-required::before { content: "*"; font-size: 14px; }
.hsbq-app .hsbq-description { margin: 0 0 12px; color: var(--hsbq-muted); font: 400 13px/1.65 Arial, "Microsoft YaHei", Helvetica, sans-serif; max-width: 740px; }
.hsbq-app .hsbq-count { margin: 9px 0 0; color: #6c8298; font-size: 12px; font-variant-numeric: tabular-nums; }
.hsbq-app .hsbq-options { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2px; min-width: 0; }
.hsbq-app .hsbq-option { display: flex; align-items: flex-start; gap: 9px; min-width: 0; min-height: 42px; padding: 10px 8px; margin: 0; background: transparent; border: 0; border-radius: 4px; color: #173e68; font: 400 14px/1.55 Arial, "Microsoft YaHei", Helvetica, sans-serif; cursor: pointer; transition: background-color .16s ease, color .16s ease; }
.hsbq-app .hsbq-option:hover { background: #f7faff; }
.hsbq-app .hsbq-option.is-selected { background: transparent; box-shadow: none; color: #0b3970; }
.hsbq-app .hsbq-option.is-disabled { color: #8392a1; background: transparent; cursor: default; }
.hsbq-app .hsbq-option span { min-width: 0; flex: 1; overflow-wrap: anywhere; }
.hsbq-app .hsbq-option .hsbq-option-letter { order: 1; flex: 0 0 23px; min-width: 23px; white-space: nowrap; }
.hsbq-app .hsbq-option .hsbq-option-label { order: 2; flex: 1; font: inherit; }
.hsbq-app .hsbq-option input[type=radio], .hsbq-app .hsbq-option input[type=checkbox] { appearance: auto; accent-color: var(--hsbq-blue); order: 0; width: 16px; height: 16px; min-width: 16px; margin: 3px 0 0; padding: 0; flex-shrink: 0; cursor: inherit; }
.hsbq-app .hsbq-option:focus-within { outline: 3px solid #b0cff9; outline-offset: 2px; }
.hsbq-app .hsbq-purpose-option .hsbq-choice-icon { display: none; }
.hsbq-app .hsbq-input { display: block; width: 100%; max-width: 520px; min-width: 0; min-height: 46px; padding: 11px 13px; border: 1px solid #c8d5e5; border-radius: 6px; background: #fff; color: #233e61; box-shadow: none; font: 400 14px/1.5 Arial, "Microsoft YaHei", Helvetica, sans-serif; transition: border-color .16s ease, box-shadow .16s ease; }
.hsbq-app select.hsbq-input { appearance: auto; -webkit-appearance: menulist; padding-right: 13px; white-space: normal; }
.hsbq-app textarea.hsbq-input { min-height: 112px; resize: vertical; }
.hsbq-app .hsbq-input::placeholder { color: #8796aa; opacity: 1; }
.hsbq-app .hsbq-input:hover { border-color: #87acdd; }
.hsbq-app .hsbq-input:focus { border-color: var(--hsbq-blue); outline: 3px solid #bdd6f9; outline-offset: 1px; box-shadow: none; }
.hsbq-app .hsbq-input:disabled { color: #8392a1; background: #f4f7fa; cursor: default; }
.hsbq-app .hsbq-field-with-unit { display: flex; align-items: stretch; width: 100%; max-width: 520px; min-width: 0; }
.hsbq-app .hsbq-field-with-unit .hsbq-input { flex: 1; max-width: none; border-top-right-radius: 0; border-bottom-right-radius: 0; }
.hsbq-app .hsbq-unit { display: flex; align-items: center; justify-content: center; flex-shrink: 0; min-width: 54px; padding: 0 12px; background: #f5f8fc; border: 1px solid #c8d5e5; border-left: 0; border-radius: 0 6px 6px 0; color: #5a7596; font-size: 13px; }
.hsbq-app .hsbq-input[aria-invalid=true], .hsbq-app .is-error .hsbq-input { border-color: #bd3a43; }
.hsbq-app .is-error .hsbq-question-label { color: #a32d36; }
.hsbq-app .is-error .hsbq-options { outline: 1px solid #d89aa0; outline-offset: 4px; border-radius: 6px; }
.hsbq-app .hsbq-field-error { margin: 9px 0 0; color: #a32d36; font: 500 12px/1.6 Arial, "Microsoft YaHei", Helvetica, sans-serif; }
.hsbq-app .hsbq-field-error:empty { display: none; }
.hsbq-app .hsbq-actions { display: flex; align-items: center; justify-content: space-between; flex: 0 0 auto; gap: 14px; margin: 0; padding: 18px 38px; border-top: 1px solid var(--hsbq-line); background: #fff; }
.hsbq-app .hsbq-actions button, .hsbq-app .hsbq-success button { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-width: 136px; min-height: 46px; padding: 12px 20px; border: 1px solid var(--hsbq-blue); border-radius: 6px; background: var(--hsbq-blue); color: #fff; font: 600 14px/1.4 Arial, "Microsoft YaHei", Helvetica, sans-serif; text-decoration: none; cursor: pointer; box-shadow: 0 3px 8px #0065ef17; transition: background-color .16s ease, border-color .16s ease, box-shadow .16s ease, transform .12s ease; }
.hsbq-app .hsbq-actions .hsbq-back { justify-content: flex-start; min-width: 78px; padding-left: 2px; background: #fff; color: #123c6c; border-color: transparent; box-shadow: none; }
.hsbq-app .hsbq-actions .hsbq-back::before { content: ""; width: 15px; height: 15px; flex: 0 0 15px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23597fae' stroke-width='1.4' viewBox='0 0 16 16'%3E%3Cpath d='M14 8H2m5-5L2 8l5 5'/%3E%3C/svg%3E") center / contain no-repeat; }
.hsbq-app .hsbq-actions .hsbq-next { margin-left: auto; }
.hsbq-app .hsbq-actions .hsbq-next::after { content: ""; width: 16px; height: 16px; flex: 0 0 16px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%23fff' stroke-width='1.4' viewBox='0 0 16 16'%3E%3Cpath d='M2 8h12M9 3l5 5-5 5'/%3E%3C/svg%3E") center / contain no-repeat; }
.hsbq-app .hsbq-actions button:hover, .hsbq-app .hsbq-success button:hover { background: #0055d1; border-color: #0055d1; color: #fff; box-shadow: 0 4px 12px #0065ef22; }
.hsbq-app .hsbq-actions .hsbq-back:hover { background: #f3f7fc; border-color: transparent; color: #0055d1; box-shadow: none; }
.hsbq-app .hsbq-actions button:active:not(:disabled), .hsbq-app .hsbq-success button:active:not(:disabled) { transform: scale(.96); }
.hsbq-app .hsbq-actions button:disabled, .hsbq-app .hsbq-success button:disabled { opacity: .45; cursor: default; box-shadow: none; }
.hsbq-app .hsbq-actions button:focus-visible, .hsbq-app .hsbq-success button:focus-visible { outline: 3px solid #91bffa; outline-offset: 3px; }
.hsbq-app .hsbq-status { margin: 20px 0 0; padding: 12px 14px; border-radius: 6px; background: #f1f6fc; color: #456180; font: 400 13px/1.65 Arial, "Microsoft YaHei", Helvetica, sans-serif; }
.hsbq-app > .hsbq-status { margin: 24px; }
.hsbq-app .hsbq-status:empty { display: none; }
.hsbq-app .hsbq-status[role=alert] { background: #fff3f3; color: #a32d36; border: 1px solid #edc9cd; }
.hsbq-app .hsbq-success { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; min-width: 0; padding: 55px 48px; background: #fff; color: #173e61; }
.hsbq-app .hsbq-success::before { content: "✓"; display: flex; align-items: center; justify-content: center; width: 58px; height: 58px; margin-bottom: 24px; border-radius: 50%; background: #ecf5ff; color: var(--hsbq-blue); font: 500 30px/1 Arial, sans-serif; }
.hsbq-app .hsbq-success h2, .hsbq-app .hsbq-success h3 { margin: 0 0 13px; font: 700 34px/1.2 Arial, "Microsoft YaHei", Helvetica, sans-serif; color: var(--hsbq-navy); text-wrap: balance; letter-spacing: -.03em; }
.hsbq-app .hsbq-success h3:focus { outline: none; }
.hsbq-app .hsbq-success h3:focus-visible { outline: 3px solid #91bffa; outline-offset: 5px; border-radius: 4px; }
.hsbq-app .hsbq-success p { color: var(--hsbq-muted); }
.hsbq-app .hsbq-success .hsbq-reference { font-weight: 600; font-variant-numeric: tabular-nums; }
.hsbq-app .hsbq-success button { margin-top: 18px; }
.hsbq-app .hsbq-honeypot { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); clip-path: inset(50%); white-space: nowrap; }
.hsbq-app.is-busy { cursor: progress; }
.hsbq-app .hsbq-loading { color: var(--hsbq-muted); padding: 10px 0; }
/* One question per screen; section presentation retains its existing layout. */
.hsbq-app .hsbq-sr-only { position: absolute !important; float: none !important; width: 1px !important; height: 1px !important; min-width: 0 !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; clip-path: inset(50%) !important; white-space: nowrap !important; border: 0 !important; }
.hsbq-app.hsbq-mode-question .hsbq-layout { grid-template-columns: 260px minmax(0, 1fr); min-height: 720px; }
.hsbq-app.hsbq-mode-question .hsbq-sidebar { padding: 32px 26px; background-color: #10375f; }
.hsbq-app.hsbq-mode-question .hsbq-brand { gap: 12px; margin-bottom: 22px; font-size: 18px; }
.hsbq-app.hsbq-mode-question .hsbq-brand-logo { flex-basis: 42px; width: 42px; height: 42px; }
.hsbq-app.hsbq-mode-question .hsbq-sidebar-title { display: block; margin: 0 0 28px; padding: 0 0 26px; border-bottom: 1px solid #b5c8de66; color: #fff; font: 600 24px/1.32 Arial, "Microsoft YaHei", Helvetica, sans-serif; letter-spacing: -.025em; }
.hsbq-app.hsbq-mode-question .hsbq-step-item { align-items: flex-start; gap: 13px; min-height: 46px; padding-bottom: 15px; font-size: 13px; }
.hsbq-app.hsbq-mode-question .hsbq-step-item:not(:last-child)::after { left: 13px; top: 29px; bottom: 0; }
.hsbq-app.hsbq-mode-question .hsbq-step-number { flex: 0 0 28px; width: 28px; height: 28px; margin-top: 0; border-width: 1px; background: #ffffff12; color: #d6e3f1; font-size: 13px; font-weight: 500; }
.hsbq-app.hsbq-mode-question .hsbq-step-label { padding-top: 5px; }
.hsbq-app.hsbq-mode-question .hsbq-step-item.is-current .hsbq-step-number { border: 1px solid #4499ff; background: var(--hsbq-blue); color: #fff; box-shadow: 0 0 0 4px #2b82e52b; }
.hsbq-app.hsbq-mode-question .hsbq-step-item.is-current .hsbq-step-label { text-transform: uppercase; }
.hsbq-app.hsbq-mode-question .hsbq-step-item.is-complete .hsbq-step-number { border-color: #80b7f3; background: #2779df; color: #fff; }
.hsbq-app.hsbq-mode-question .hsbq-step-item.is-complete .hsbq-step-number::after { display: none; }
.hsbq-app.hsbq-mode-question .hsbq-scroll { padding: 34px 40px 36px; }
.hsbq-app.hsbq-mode-question .hsbq-panel-header { display: flex; flex-direction: column; margin: 0 0 26px; padding: 0; border-bottom: 0; }
.hsbq-app.hsbq-mode-question .hsbq-kicker { order: 0; margin: 0 0 15px; color: var(--hsbq-blue); font-size: 14px; font-weight: 600; letter-spacing: .045em; }
.hsbq-app.hsbq-mode-question .hsbq-progress { order: 1; flex-wrap: wrap; gap: 8px 12px; width: 100%; margin: 0; font-size: 13px; }
.hsbq-app.hsbq-mode-question .hsbq-progress-text { order: 0; flex: 0 0 100%; }
.hsbq-app.hsbq-mode-question progress { order: 1; flex: 1; width: 0; height: 6px; }
.hsbq-app.hsbq-mode-question .hsbq-progress-count { order: 2; flex: 0 0 auto; color: #657d98; line-height: 1.3; }
.hsbq-app.hsbq-mode-question h3.hsbq-panel-title { order: 2; margin: 38px 0 10px; font-size: 32px; line-height: 1.22; letter-spacing: -.025em; text-wrap: pretty; }
.hsbq-app.hsbq-mode-question .hsbq-panel-description { order: 3; font-size: 16px; line-height: 1.6; }
.hsbq-app.hsbq-mode-question .hsbq-panel-title .hsbq-required::before { font-size: 26px; }
.hsbq-app.hsbq-mode-question .hsbq-question { padding: 0; border: 0; }
.hsbq-app.hsbq-mode-question .hsbq-options { gap: 12px; }
.hsbq-app.hsbq-mode-question .hsbq-option { min-height: 68px; padding: 18px 20px; gap: 12px; border: 1px solid #cfdded; border-radius: 6px; background: #fff; font-size: 16px; line-height: 1.5; transition: background-color .16s ease, border-color .16s ease; }
.hsbq-app.hsbq-mode-question .hsbq-option:hover { border-color: #91b8ec; background: #f7faff; }
.hsbq-app.hsbq-mode-question .hsbq-option.is-selected { border-color: #3686ff; background: #edf5ff; box-shadow: none; color: #0d3159; }
.hsbq-app.hsbq-mode-question .hsbq-option.is-disabled { border-color: #e1e8ef; background: #f6f8fa; color: #8392a1; }
.hsbq-app.hsbq-mode-question .hsbq-option .hsbq-option-letter { flex-basis: 24px; min-width: 24px; }
.hsbq-app.hsbq-mode-question .hsbq-option input[type=radio], .hsbq-app.hsbq-mode-question .hsbq-option input[type=checkbox] { width: 22px; height: 22px; min-width: 22px; margin-top: 1px; }
.hsbq-app.hsbq-mode-question .hsbq-input { max-width: 100%; min-height: 54px; padding: 14px 16px; font-size: 16px; }
.hsbq-app.hsbq-mode-question textarea.hsbq-input { min-height: 160px; }
.hsbq-app.hsbq-mode-question .hsbq-field-with-unit { max-width: 100%; }
.hsbq-app.hsbq-mode-question .hsbq-actions { gap: 18px; padding: 18px 40px; }
.hsbq-app.hsbq-mode-question .hsbq-actions button { min-height: 50px; }
.hsbq-app.hsbq-mode-question .hsbq-actions .hsbq-back { justify-content: center; min-width: 94px; padding: 12px 18px; border-color: #c8d5e5; background: #f7f9fc; color: #45607e; }
.hsbq-app.hsbq-mode-question .hsbq-actions .hsbq-back::before { display: none; }
.hsbq-app.hsbq-mode-question .hsbq-actions .hsbq-back:hover { border-color: #9bb8dc; background: #f0f5fc; }
.hsbq-app.hsbq-mode-question .hsbq-actions .hsbq-next { min-width: 170px; }
.hsbq-app.hsbq-mode-question .hsbq-action-hint { flex: 1; min-width: 0; margin: 0; color: #657d98; font-size: 12px; line-height: 1.5; text-align: center; }
@media (max-width: 1080px) {
  .hsbq-app .hsbq-layout { grid-template-columns: 210px minmax(0, 1fr); }
  .hsbq-app .hsbq-sidebar { padding: 30px 22px; }
  .hsbq-app .hsbq-brand { font-size: 17px; gap: 9px; }
  .hsbq-app .hsbq-scroll { padding: 30px 30px 32px; }
  .hsbq-app h3.hsbq-panel-title { font-size: 32px; }
  .hsbq-app .hsbq-actions { padding: 17px 30px; }
  .hsbq-app.hsbq-mode-question .hsbq-layout { grid-template-columns: 230px minmax(0, 1fr); }
  .hsbq-app.hsbq-mode-question .hsbq-sidebar { padding: 30px 22px; }
  .hsbq-app.hsbq-mode-question .hsbq-brand { gap: 10px; font-size: 16px; }
  .hsbq-app.hsbq-mode-question .hsbq-brand-logo { flex-basis: 36px; width: 36px; height: 36px; }
  .hsbq-app.hsbq-mode-question .hsbq-sidebar-title { font-size: 22px; }
  .hsbq-app.hsbq-mode-question .hsbq-scroll { padding: 30px; }
  .hsbq-app.hsbq-mode-question .hsbq-actions { padding: 18px 30px; }
  .hsbq-app.hsbq-mode-question .hsbq-action-hint { display: none; }
}
@media (max-width: 820px) {
  .hsbq-app .hsbq-layout { grid-template-columns: minmax(0, 1fr); min-height: 620px; }
  .hsbq-app .hsbq-sidebar { padding: 17px 25px; }
  .hsbq-app .hsbq-brand { margin: 0; font-size: 18px; }
  .hsbq-app .hsbq-brand-logo { width: 27px; height: 27px; flex-basis: 27px; }
  .hsbq-app .hsbq-sidebar-title, .hsbq-app .hsbq-step-list, .hsbq-app .hsbq-sidebar-description { display: none; }
  .hsbq-app .hsbq-scroll { padding: 26px; }
  .hsbq-app .hsbq-actions { padding: 16px 26px; }
  .hsbq-app.hsbq-mode-question .hsbq-layout { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr); min-height: 620px; }
  .hsbq-app.hsbq-mode-question .hsbq-sidebar { padding: 17px 25px; background-color: #10375f !important; }
  .hsbq-app.hsbq-mode-question .hsbq-brand { margin: 0; gap: 11px; font-size: 18px; }
  .hsbq-app.hsbq-mode-question .hsbq-brand-logo { flex-basis: 36px; width: 36px; height: 36px; }
  .hsbq-app.hsbq-mode-question .hsbq-sidebar-title, .hsbq-app.hsbq-mode-question .hsbq-step-list, .hsbq-app.hsbq-mode-question .hsbq-sidebar-description { display: none; }
  .hsbq-app.hsbq-mode-question .hsbq-scroll { padding: 28px 26px; }
  .hsbq-app.hsbq-mode-question .hsbq-actions { padding: 17px 26px; }
}
@media (max-width: 600px) {
  .hsbq-app { border-radius: 12px; }
  .hsbq-app .hsbq-layout { min-height: 580px; grid-template-rows: auto minmax(0, 1fr); }
  .hsbq-app .hsbq-sidebar { padding: 16px 20px; }
  .hsbq-app .hsbq-brand { gap: 9px; font-size: 17px; }
  .hsbq-app .hsbq-scroll { padding: 22px 20px 25px; }
  .hsbq-app .hsbq-panel-header { margin-bottom: 21px; padding-bottom: 18px; }
  .hsbq-app .hsbq-kicker { font-size: 10px; margin-bottom: 7px; }
  .hsbq-app .hsbq-progress { margin-bottom: 21px; gap: 12px; font-size: 10px; }
  .hsbq-app h3.hsbq-panel-title { font-size: 25px; line-height: 1.2; letter-spacing: -.03em; }
  .hsbq-app .hsbq-panel-description { font-size: 13px; line-height: 1.55; }
  .hsbq-app .hsbq-questions, .hsbq-app .hsbq-project-fields { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .hsbq-app .hsbq-question { padding-bottom: 22px; }
  .hsbq-app .hsbq-question-label { margin-bottom: 10px; font-size: 13px; }
  .hsbq-app .hsbq-description { font-size: 12px; }
  .hsbq-app .hsbq-option { min-height: 44px; padding: 11px 4px; font-size: 13px; }
  .hsbq-app .hsbq-input { max-width: 100%; min-height: 47px; font-size: 16px; padding: 10px 12px; }
  .hsbq-app .hsbq-field-with-unit { max-width: 100%; }
  .hsbq-app .hsbq-actions { gap: 12px; padding: 15px 20px; }
  .hsbq-app .hsbq-actions button { min-height: 44px; font-size: 13px; padding: 11px 16px; }
  .hsbq-app .hsbq-actions .hsbq-back { min-width: 68px; padding-left: 0; }
  .hsbq-app .hsbq-actions .hsbq-next { min-width: 128px; }
  .hsbq-app .hsbq-success { padding: 38px 25px; }
  .hsbq-app .hsbq-success h2, .hsbq-app .hsbq-success h3 { font-size: 28px; }
  .hsbq-app.hsbq-mode-question .hsbq-layout { min-height: 600px; }
  .hsbq-app.hsbq-mode-question .hsbq-sidebar { padding: 16px 20px; }
  .hsbq-app.hsbq-mode-question .hsbq-brand { gap: 10px; font-size: 17px; }
  .hsbq-app.hsbq-mode-question .hsbq-brand-logo { flex-basis: 34px; width: 34px; height: 34px; }
  .hsbq-app.hsbq-mode-question .hsbq-scroll { padding: 24px 20px 28px; }
  .hsbq-app.hsbq-mode-question .hsbq-panel-header { margin-bottom: 22px; }
  .hsbq-app.hsbq-mode-question .hsbq-kicker { margin-bottom: 13px; font-size: 12px; }
  .hsbq-app.hsbq-mode-question .hsbq-progress { gap: 8px 11px; font-size: 12px; }
  .hsbq-app.hsbq-mode-question h3.hsbq-panel-title { margin-top: 28px; margin-bottom: 9px; font-size: 24px; line-height: 1.25; }
  .hsbq-app.hsbq-mode-question .hsbq-panel-description { font-size: 14px; }
  .hsbq-app.hsbq-mode-question .hsbq-panel-title .hsbq-required::before { font-size: 20px; }
  .hsbq-app.hsbq-mode-question .hsbq-options { gap: 11px; }
  .hsbq-app.hsbq-mode-question .hsbq-option { min-height: 58px; padding: 16px 14px; gap: 9px; font-size: 14px; line-height: 1.5; }
  .hsbq-app.hsbq-mode-question .hsbq-option .hsbq-option-letter { flex-basis: 21px; min-width: 21px; }
  .hsbq-app.hsbq-mode-question .hsbq-option input[type=radio], .hsbq-app.hsbq-mode-question .hsbq-option input[type=checkbox] { width: 20px; height: 20px; min-width: 20px; margin-top: 0; }
  .hsbq-app.hsbq-mode-question .hsbq-input { min-height: 50px; padding: 12px 14px; }
  .hsbq-app.hsbq-mode-question .hsbq-actions { gap: 12px; padding: 16px 20px; }
  .hsbq-app.hsbq-mode-question .hsbq-actions button { min-height: 48px; }
  .hsbq-app.hsbq-mode-question .hsbq-actions .hsbq-back { min-width: 82px; padding: 12px 14px; }
  .hsbq-app.hsbq-mode-question .hsbq-actions .hsbq-next { min-width: 164px; }
  .hsbq-app.hsbq-mode-question .hsbq-action-hint { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .hsbq-app *, .hsbq-app *::before, .hsbq-app *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
