
/* v52 — questionnaire responsive refinement */
html,body.questionnaire-page{max-width:100%;overflow-x:hidden}
@media(max-width:1080px){
  .questionnaire-main{width:min(900px,calc(100vw - 24px))!important;margin:22px auto 44px!important;gap:16px!important}
  .questionnaire-aside{position:relative!important;top:auto!important;min-height:0!important;border-radius:22px!important;padding:24px!important}
  .questionnaire-step-list{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important}
  .questionnaire-panel{min-width:0!important}
}
@media(max-width:720px){
  .questionnaire-header{min-height:70px!important;height:70px!important;padding:7px 12px!important;gap:8px!important}
  .questionnaire-logo{width:min(48vw,165px)!important;height:54px!important;padding:4px 0!important}
  .questionnaire-header-actions{min-width:0!important}
  .questionnaire-back{font-size:11px!important;padding:10px 11px!important;white-space:nowrap!important}
  .questionnaire-main{width:calc(100vw - 16px)!important;margin:12px auto 28px!important;gap:12px!important}
  .questionnaire-aside{
    display:grid!important;grid-template-columns:52px minmax(0,1fr)!important;
    gap:8px 14px!important;padding:18px!important;border-radius:18px!important;
  }
  .questionnaire-aside-icon{grid-row:1/3;width:52px!important;height:52px!important;margin:0!important}
  .questionnaire-aside h1{font-size:31px!important;line-height:.98!important;margin:0!important;align-self:end!important}
  .questionnaire-aside>p{font-size:13px!important;line-height:1.45!important;margin:0!important;grid-column:2!important}
  .questionnaire-step-list{display:none!important}
  .questionnaire-security{grid-column:1/-1!important;margin:12px 0 0!important;padding-top:12px!important;font-size:11.5px!important;line-height:1.45!important}
  .questionnaire-panel{border-radius:18px!important;min-width:0!important;overflow:hidden!important}
  .questionnaire-progress{padding:17px 15px 14px!important}
  .questionnaire-progress-meta{font-size:12px!important}
  .questionnaire-form-area{padding:23px 15px 20px!important}
  .questionnaire-step h2{font-size:clamp(36px,11vw,45px)!important;line-height:.98!important}
  .questionnaire-step-description{font-size:14px!important;line-height:1.55!important;margin-bottom:20px!important}
  .questionnaire-grid{grid-template-columns:1fr!important;gap:16px!important}
  .q-field,.q-field.half,.q-field.full{grid-column:1!important;min-width:0!important}
  .q-field label{font-size:12px!important;line-height:1.4!important}
  .q-field input,.q-field select,.q-field textarea{width:100%!important;min-width:0!important;font-size:16px!important}
  .q-choice-group{grid-template-columns:1fr!important;gap:9px!important}
  .q-choice label{min-height:48px!important}
  .questionnaire-actions{flex-direction:column-reverse!important;align-items:stretch!important;gap:10px!important}
  .questionnaire-actions-left,.questionnaire-actions-right{display:grid!important;grid-template-columns:1fr!important;width:100%!important;gap:9px!important}
  .questionnaire-actions .q-btn{width:100%!important;justify-content:center!important;min-height:48px!important}
  .questionnaire-save-status{width:100%!important;justify-content:center!important}
  .q-review-section{border-radius:14px!important}
  .q-review-heading{padding:14px!important}
  .q-review-rows{grid-template-columns:1fr!important}
  .q-review-row{padding:13px 14px!important}
  .q-consent{padding:14px!important}
  .questionnaire-complete-shell{padding:8px 0!important}
  .questionnaire-complete h2{font-size:clamp(36px,10vw,46px)!important;line-height:1!important}
  .questionnaire-complete>p,.questionnaire-complete-shell>p{font-size:14px!important;line-height:1.6!important}
  .questionnaire-next-steps{grid-template-columns:1fr!important;gap:10px!important}
  .questionnaire-application-step{padding:18px 14px!important;border-radius:15px!important}
  .questionnaire-complete-actions{display:grid!important;grid-template-columns:1fr!important;width:100%!important}
  .questionnaire-complete-actions .q-btn{width:100%!important;justify-content:center!important}
  .q-upload-dropzone{padding:15px!important;gap:12px!important}
  .q-file-item{padding:10px!important}
  .q-file-item strong{max-width:calc(100vw - 150px)!important}
}
@media(max-width:390px){
  .questionnaire-logo{width:145px!important}
  .questionnaire-back{font-size:0!important;width:42px!important;height:42px!important;padding:0!important;display:grid!important;place-items:center!important}
  .questionnaire-back i{font-size:14px!important;margin:0!important}
  .questionnaire-aside{grid-template-columns:46px minmax(0,1fr)!important;padding:15px!important}
  .questionnaire-aside-icon{width:46px!important;height:46px!important}
  .questionnaire-aside h1{font-size:28px!important}
  .questionnaire-form-area{padding-left:12px!important;padding-right:12px!important}
}
