.questionnaire__shell{
--accent:#e8132e;
--accent-2:#c00006;
--dark: #1a1c2c;
--bg:#f8f9fa;
--field:#ffffff;
--border:#dee2e6;
--error:#e8132e;
--field-gutter: 25px;
margin:0 auto;background:transparent;}
.questionnaire__card{border-radius:12px;overflow:hidden;border:1px solid var(--border); background: #ffffff; box-shadow: 0 4px 30px rgba(0, 0, 0, 0.04);}
.questionnaire__header{background:var(--accent);color:#fff;padding:18px 22px;}
.questionnaire__header h1{font-size:20px;margin:0;font-weight:700;letter-spacing:.2px;}
.questionnaire__header p{margin:6px 0 0;font-size:14px;opacity:.95;}
#questionnaire__header-main {font-weight:800;font-size:16px;letter-spacing:.3px;text-transform:uppercase;}
.questionnaire__pager{padding:14px 22px;}
.questionnaire__progress{height:5px;background:#e5e5e5;border-radius:999px;overflow:hidden;}
.questionnaire__progress i{display:block;height:100%;width:0;background:var(--accent);}
.questionnaire__progress-text{margin-top:8px;font-size:13px;opacity:.95;}
.questionnaire__form{padding:20px 22px;}
.questionnaire__page{display:none;}
.questionnaire__page-title { margin-bottom: 35px; font-size: 26px; line-height: 30px; color: #000000; }
.questionnaire__form-title { margin-top: 50px; margin-bottom: 30px; font-size: 22px; line-height: 26px; color: #000000; }
.questionnaire__form-title-2 { margin-top: 45px; margin-bottom: 25px;  font-size: 18px; line-height: 22px; color: #000000; }
.questionnaire__page.active{display:block;}
.questionnaire__grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); gap:var(--field-gutter); margin-bottom:30px; }
.questionnaire__row{ display:grid; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); gap:var(--field-gutter); margin-bottom:30px; }
.questionnaire__row.hidden { display: none; }
.questionnaire__group { margin-bottom:30px; }
.questionnaire__group-header{margin:var(--field-gutter) 0 20px;font-size:18px;line-height:24px;font-weight:700;}
.questionnaire__group-body{padding:12px 0px 15px 20px;border-left:1px dashed #cacdcf;}
.questionnaire__label{display:block;font-weight:700;margin-bottom:12px;font-size:14px;}
.questionnaire__input, .questionnaire__select, .questionnaire__textarea { width: 100%; padding: 10px 14px; font-size: 14px; background: #fff; border: 1px solid var(--border); border-radius: 8px; transition: all .2s ease; }
.questionnaire__input, .questionnaire__select { height: 45px; }
.questionnaire__input:focus, .questionnaire__select:focus, .questionnaire__textarea:focus { outline: none; border-color: #787983; }
.questionnaire__textarea{min-height:96px;resize:vertical;}
.questionnaire__small{margin-top:10px; font-size:13px; color:#6c757d;}
.questionnaire__btn-row{display:flex;gap:10px;align-items:center;justify-content:space-between;margin-top:35px;}
.questionnaire__btn{padding:8px 17px;border-radius:4px;border:0;cursor:pointer;font-weight:bold;font-size:15px;}
.questionnaire__btn.primary{background:var(--accent);color:#fff;}
.questionnaire__btn.primary:hover{background:var(--accent-2);}
.questionnaire__btn.black{background:#1a1c2c;color:#fff;}
.questionnaire__btn.black:hover{background:#33364e;}
.questionnaire__btn.ghost{background:#fff;border:1px solid var(--accent);color:var(--accent);}
.questionnaire__btn[disabled],.questionnaire__btn[disabled]:hover{background: #999999; border-color: transparent; cursor: not-allowed;}
.questionnaire__btn.loading:before{content: " "; display: inline-block; width: 20px; height: 20px; margin-right: 10px; vertical-align: middle; background-repeat: no-repeat; background-size: contain;
  background-image: url('data:image/svg+xml;utf8,<svg fill="white" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M12,4a8,8,0,0,1,7.89,6.7A1.53,1.53,0,0,0,21.38,12h0a1.5,1.5,0,0,0,1.48-1.75,11,11,0,0,0-21.72,0A1.5,1.5,0,0,0,2.62,12h0a1.53,1.53,0,0,0,1.49-1.3A8,8,0,0,1,12,4Z"><animateTransform attributeName="transform" type="rotate" dur="1.5s" values="0 12 12;360 12 12" repeatCount="indefinite"></animateTransform></path></svg>');
}
.questionnaire__counter{min-width:76px;text-align:center;font-weight:800;color:#212529;}
.questionnaire__field-error{color:var(--error);font-size:13px;display:none;margin-top:6px;}
.questionnaire__input.invalid, .questionnaire__select.invalid, .questionnaire__textarea.invalid,
.questionnaire__field.is-error .questionnaire__checkgrid > label { border-color:var(--error);/*box-shadow:0 0 0 3px rgba(214,40,40,0.10);*/background:#fff5f5; }
.questionnaire__required:after{content:" *";color:var(--error);}
.questionnaire__checkgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:8px;margin-top:8px;}
.questionnaire__checkgrid label{
  display: flex; align-items: center; padding: 10px 14px; border: 1px solid var(--border); border-radius: 8px; cursor: pointer; font-size: 14px; transition: all 0.2s; background: #fff; gap: 12px; user-select: none; -webkit-tap-highlight-color: transparent;
  /*font-weight:600;display:flex;gap:8px;align-items:center;background:#fbfbfb;border:1px solid #e1e1e1;padding:12px 15px;font-size:14px;line-height:16px;border-radius:5px;cursor:pointer;*/
}
.questionnaire__checkgrid label input{margin: 0; width: 16px; height: 16px; accent-color: var(--dark); cursor: pointer;}
.questionnaire__checkgrid label:hover { border-color: #b2bac3; }
.questionnaire__files-box:hover{border-color:#d62828;background:#fff5f5;}
.questionnaire__files-box-title{font-weight:700;font-size:19px;margin-bottom:15px;}
.questionnaire__files-box-extensions{font-size:15px;color:#6c757d;}
.questionnaire__files-box-rules{font-size:13px;color:#6c757d;}
.questionnaire__files-box-hit{margin-top:20px;font-size:13px;color:#adb5bd;}
.questionnaire__files-attached {margin-top:10px; font-size:13px;}
.questionnaire__files-attached-text{color:#6c757d;}
.questionnaire__files-attached-list > li {display: inline-block; margin: 5px 5px 0 0; padding: 4px 12px; font-weight: bold; color: #333; background: #fbfbfb; border: 1px solid #e1e1e1; border-radius: 5px;}
.questionnaire__agreement { padding: 12px 15px; font-size: 14px; background: #e9f0f7; border-radius: 6px; }
.questionnaire__notice{margin:16px 0;padding:14px 16px;border-radius:10px;font-size:14px;/*font-weight:600;*/}
.questionnaire__notice--error{margin-top:30px;background:#fff5f5;color:#d62828;border:1px solid #ffdddd;}
.questionnaire__notice--success{background:#f1fdf4;color:#2b8a3e;border:1px solid #2fb344;}
.questionnaire__success{display:none;}
.questionnaire__success-card{background:#fff;border-radius:14px;padding:90px 10px;text-align:center;border:1px solid #dadada;}
.questionnaire__success-title{font-weight:900;font-size:26px;letter-spacing:.4px;text-transform:uppercase;}
.questionnaire__success-subtitle{margin-top:14px;font-weight:800;font-size:14px;letter-spacing:.3px;text-transform:uppercase;}
#questionnaire__download-pdf{display:inline-block;margin-top:26px;padding:12px 22px;border-radius:10px;font-size:14px;font-weight:900;text-transform:uppercase;background:#d62828;color:#ffffff;}
#questionnaire__download-pdf:hover{background:#b81f1f;}
.questionnaire__br {  margin: 40px 0; border-top: 1px solid var(--border); }
.questionnaire__repeater { --repeater-first-col: 280px; --repeater-data-col: 210px; }
.questionnaire__repeater-instruction { font-size: 13px; margin-bottom: 15px; }
.questionnaire__repeater-btn-row { display: flex; gap: 15px; align-items: center; margin-bottom: 20px; }
.questionnaire__repeater-wrapper { position: relative; border: 1px solid var(--border); border-radius: 10px; background: #fff; overflow: hidden; }
.questionnaire__repeater-wrapper:after {
  content: ''; position: absolute; top: 0; right: 0; bottom: 0;
  /*width: 60px; background: linear-gradient(to right, rgba(255,255,255,0), rgba(255,255,255,0.98));*/
  width: 20px; background: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(127, 127, 127, 0.04));
  pointer-events: none; z-index: 5; transition: opacity 0.3s;
}
.questionnaire__repeater-wrapper.is-end:after { opacity: 0; }
.questionnaire__repeater-inner { overflow-x: auto; -webkit-overflow-scrolling: touch; border-radius: 10px; }
.questionnaire__repeater-grid {
  display: inline-grid; min-width: 100%;
  grid-template-columns: var(--repeater-first-col) repeat(var(--repeater-cols, 1), var(--repeater-data-col));
  grid-template-rows: repeat(var(--repeater-rows, 1), auto);
  grid-auto-flow: column;
}
.questionnaire__repeater-column-static:after {
  content: ''; position: absolute; z-index: 3; left: var(--repeater-first-col); top: 0; bottom: 0;
  width: 20px; background: linear-gradient(to left, rgba(255, 255, 255, 0), rgba(127, 127, 127, 0.04));
  pointer-events: none; z-index: 5; transition: opacity 0.3s;
}
.questionnaire__repeater-wrapper.is-start .questionnaire__repeater-column-static:after { opacity: 0; }
.questionnaire__repeater-cell {
  padding: 16px 18px; border-top: 1px solid #f1f5f9; /*border-bottom: 1px solid transparent;*/ border-right: 1px solid #f1f5f9;
  display: flex; align-items: center; min-height: 50px; box-sizing: border-box;
}
.questionnaire__repeater-cell--vertical {
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: center;
}
.questionnaire__repeater-cell--sticky { 
  position: sticky; left: 0; z-index: 5; background: #fff !important; 
  border-right: 1px solid var(--border); justify-content: flex-start; font-weight: 700; 
  border-left: 2px solid transparent; /*box-shadow: 4px 0 8px rgba(0,0,0,0.02);*/
}
.questionnaire__repeater-cell--empty {
  background:#fcfcfc;
}
.questionnaire__repeater-cell--section {
  background: #f8fafc !important; font-size: 11px; line-height: 1.2; text-transform: uppercase; font-weight: normal;
  letter-spacing: 1px; border-left-color: var(--dark); 
  border-top: 1px solid var(--border);
}
.questionnaire__repeater-cell--group-head {
  background: #f8fafc !important;
}
.questionnaire__repeater-cell--group-body {
  padding-left: 24px;
}
.questionnaire__repeater-cell--group-body:before {
  content: ''; position: absolute; top: 0; bottom: 0; left: 8px; width: 1px; background: var(--border);
}
.questionnaire__repeater-cell--header {
  /*background: #f8fafc !important;*/ font-size: 11px; font-weight: 700;
  text-transform: uppercase; flex-direction: column; align-items: stretch; justify-content: center; text-align: center; gap: 6px; padding: 16px 18px;
}
.questionnaire__repeater-cell-title { font-size: 14px; line-height: 1.2; font-weight: bold; }
.questionnaire__repeater-cell-subtitle { margin-top: 7px; font-size: 14px; line-height: 1.2; font-weight: normal; color: #7a7f91; }
.questionnaire__repeater-cell--group-head .questionnaire__repeater-cell-title { font-weight: normal; }
.questionnaire__repeater-btn-remove { padding: 5px 10px; background: #fff; border: 1px solid #1a1c2c; font-weight: normal; }
.questionnaire__repeater-btn-remove:hover { background: var(--accent); color: #fff; border-color: var(--accent); }
.questionnaire__repeater-btn-remove[disabled], .questionnaire__repeater-btn-remove[disabled]:hover { background: #ebeef1; color: #9ea8b3; }
.questionnaire__repeater-column { display: contents; }
.questionnaire__repeater-column-name { font-weight: bold; }
.questionnaire__repeater-counter { font-size: 13px; }
.questionnaire__repeater-counter-value { color: var(--accent) !important; font-weight: 700; }

.questionnaire__select-multiselect { position: relative; width: 100%; flex: 1 1 auto; box-sizing: border-box; }
.questionnaire__select-trigger { width: 100%; height: 45px; padding: 10px 35px 10px 14px; font-size: 14px; line-height: 1.4; background: #fff; border: 1px solid var(--border); border-radius: 8px; transition: all .2s ease; color: #2c2d30; text-align: left; cursor: pointer; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; position: relative; box-sizing: border-box; display: block; user-select: none; -webkit-user-select: none; outline: none !important; }
.questionnaire__select-trigger.is-placeholder { color: var(--color-base-link); }
.questionnaire__select-trigger:hover, .questionnaire__select-trigger.is-active { border-color: #787983; outline: none; }
.questionnaire__select-trigger::after { content: ""; position: absolute; right: 14px; top: 50%; width: 0; height: 0; margin-top: -3px; border-left: 5px solid transparent; border-right: 5px solid transparent; border-top: 5px solid #c0c4cc; transition: transform 0.2s ease; }
.questionnaire__select-trigger.is-active::after { transform: rotate(180deg); border-top-color: #787983; }
.questionnaire__select-dropdown { display: none; background: #ffffff; border: 1px solid var(--border); border-radius: 8px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08); z-index: 99999; max-height: 200px; overflow-y: auto; padding: 6px 0; box-sizing: border-box; }
.questionnaire__select-dropdown.is-open { display: block; }
.questionnaire__select-dropdown label { display: flex; align-items: center; padding: 8px 14px; font-size: 14px; line-height: 16px; color: #2c2d30; cursor: pointer; user-select: none; transition: background-color 0.15s; }
.questionnaire__select-dropdown label:hover { background-color: #f5f7fa; }
.questionnaire__select-dropdown input[type="checkbox"], .questionnaire__select-dropdown input[type="radio"] { margin-right: 10px; cursor: pointer; width: 16px; height: 16px; flex-shrink: 0; accent-color: #1a1c2c; }
.questionnaire__select-dropdown input[type="radio"] { border-radius: 50%; }

@media (max-width:760px) {
  .questionnaire__success-card{padding: 40px 15px;}
  .questionnaire__success-title{font-size: 20px;}
  .questionnaire__grid{grid-template-columns:1fr;}}
  .questionnaire__files-box{border:2px dashed #dee2e6;border-radius:12px;padding:24px;text-align:center;cursor:pointer;background:#fff;transition:.15s;
}
@media (max-width: 600px) {
  .questionnaire__repeater { --repeater-first-col: 135px; --repeater-data-col: 180px; }
}
