:root{--cp:#08746f;--cp-dark:#18383d;--cp-soft:#eaf5f3;--cp-bg:#f3f5f4;--cp-line:#dbe3e2}
body.brand-avant{--cp:#35649d;--cp-dark:#253f61;--cp-soft:#edf2f8}
body:has(.professional-survey){margin:0;background:var(--cp-bg);color:#263a3e;font-family:Arial,"Helvetica Neue",sans-serif}.professional-survey{min-height:100vh;padding-bottom:24px}
.professional-header{height:64px;display:flex;align-items:center;padding:0 max(22px,calc((100vw - 900px)/2));border-bottom:1px solid var(--cp-line);background:#fff}.professional-brand{display:flex;align-items:center;gap:9px;color:#21363a;text-decoration:none}.professional-brand i{display:grid;place-items:center;width:32px;height:32px;border-radius:5px;background:var(--cp);color:#fff;font-style:normal;font-size:10px;font-weight:700}.professional-brand span{display:grid;line-height:1}.professional-brand strong{font-size:12px}.professional-brand small{margin-top:3px;color:#7d898c;font-size:7px;letter-spacing:.15em}.professional-header-title{display:grid;margin-left:25px;padding-left:25px;border-left:1px solid var(--cp-line)}.professional-header-title b{font-size:11px}.professional-header-title span{margin-top:2px;color:#819093;font-size:9px}.professional-law{margin-left:auto;color:#708084;font-size:9px}
.compact-survey-shell{max-width:900px;margin:28px auto 0;border:1px solid #d7e0df;border-radius:9px;background:#fff;box-shadow:0 12px 35px rgba(27,52,55,.07)}.compact-survey-top{padding:18px 28px 0}.compact-survey-meta{display:flex;justify-content:space-between;color:#718184;font-size:9px}.compact-survey-meta b{color:#43595e}.compact-progress{height:4px;margin-top:14px;overflow:hidden;border-radius:6px;background:#e8edec}.compact-progress i{display:block;height:100%;background:var(--cp);transition:width .25s ease}.compact-survey-form{padding:0}.compact-question{display:grid;grid-template-columns:70px 1fr;gap:20px;padding:32px 46px 25px}.compact-question-number{color:#c8d4d3;font:42px Georgia,serif;line-height:1}.compact-kicker{color:var(--cp);font-size:8px;font-weight:800;letter-spacing:.14em}.compact-question h1{max-width:680px;margin:8px 0 8px;color:var(--cp-dark);font-size:27px;line-height:1.24;letter-spacing:-.025em}.compact-question p{margin:0;color:#718184;font-size:11px;line-height:1.6}.compact-answer{padding:0 46px 35px 136px}.compact-field{display:grid!important;gap:7px!important}.compact-field>span{color:#41575c;font-size:10px!important;font-weight:800!important}.compact-field input,.compact-field textarea{width:100%;padding:13px 14px!important;border:1px solid #bdccca!important;border-radius:5px!important;background:#fff!important;outline:0;font:13px Arial,sans-serif!important}.compact-field input:focus,.compact-field textarea:focus{border-color:var(--cp)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--cp) 12%,transparent)!important}.compact-field small{color:#829092!important;font-size:8px!important}.compact-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;border:0}.compact-option{position:relative;display:flex;align-items:center;gap:10px;min-height:45px;padding:10px 12px;border:1px solid #d3dddc;border-radius:5px;background:#fff;cursor:pointer}.compact-option input{position:absolute;opacity:0}.compact-control{width:17px;height:17px;flex:0 0 17px;border:2px solid #aebdba;border-radius:50%}.is-checkbox .compact-control{border-radius:3px}.compact-option-text b{font-size:11px;font-weight:600}.compact-option:has(input:checked){border-color:var(--cp);background:var(--cp-soft);color:var(--cp)}.compact-option input:checked+.compact-control{border:5px solid var(--cp);background:#fff}.is-checkbox .compact-option input:checked+.compact-control{border:4px solid var(--cp)}.compact-other{margin-top:14px;padding:14px;border-left:3px solid var(--cp);background:#f5f8f7}.compact-other[hidden]{display:none!important}.compact-alert{margin:0 46px 18px 136px;padding:10px 12px;border-left:3px solid #ad2c23;background:#fff1ef;color:#92271f;font-size:10px}.compact-actions{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 28px;border-top:1px solid var(--cp-line);background:#fafbfb}.compact-actions a{color:#5b6e72;text-decoration:none;font-size:9px}.compact-actions>span{margin-left:auto;color:#859396;font-size:8px}.compact-actions button{padding:10px 16px;border:0;border-radius:5px;background:var(--cp);color:#fff;cursor:pointer;font-size:10px;font-weight:800}
.survey-workflow{margin-top:16px}.survey-workflow ol{display:grid;grid-template-columns:repeat(4,1fr);margin:0;padding:0;list-style:none}.survey-workflow li{position:relative;display:flex;align-items:center;gap:8px;min-width:0;color:#8a989a}.survey-workflow li:not(:last-child):after{content:"";position:absolute;z-index:0;top:12px;left:30px;right:8px;height:1px;background:#d9e1e0}.survey-workflow li.is-complete:not(:last-child):after{background:var(--cp)}.survey-workflow li i{position:relative;z-index:1;display:grid;place-items:center;width:24px;height:24px;flex:0 0 24px;border:1px solid #cbd6d4;border-radius:50%;background:#fff;color:#829092;font-style:normal;font-size:9px;font-weight:800}.survey-workflow li.is-current i{border-color:var(--cp);background:var(--cp);color:#fff;box-shadow:0 0 0 4px var(--cp-soft)}.survey-workflow li.is-complete i{border-color:var(--cp);background:var(--cp-soft);color:transparent}.survey-workflow li.is-complete i:after{content:"✓";position:absolute;color:var(--cp);font-size:11px}.survey-workflow li span{position:relative;z-index:1;display:grid;min-width:0;padding-right:8px;background:#fff}.survey-workflow li b{overflow:hidden;color:#718184;font-size:9px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.survey-workflow li small{margin-top:2px;color:#9ba6a8;font-size:7px;white-space:nowrap}.survey-workflow li.is-current b{color:var(--cp-dark)}.survey-workflow li.is-complete b{color:var(--cp)}
.professional-footer{max-width:900px;margin:13px auto;display:flex;justify-content:space-between;color:#849294;font-size:8px}
@media(max-width:700px){.professional-header{padding:12px 14px}.professional-header-title,.professional-law{display:none}.compact-survey-shell{margin:12px 8px}.compact-survey-top{padding:16px 18px 0}.survey-workflow{margin-top:14px}.survey-workflow ol{gap:5px}.survey-workflow li{display:grid;justify-items:center;gap:5px;text-align:center}.survey-workflow li:not(:last-child):after{top:12px;left:calc(50% + 14px);right:calc(-50% + 8px)}.survey-workflow li span{padding:0;background:transparent}.survey-workflow li b{max-width:72px;font-size:8px}.survey-workflow li small{display:none}.compact-question{grid-template-columns:1fr;padding:26px 20px 20px}.compact-question-number{font-size:29px}.compact-question h1{font-size:23px}.compact-answer{padding:0 20px 28px}.compact-options{grid-template-columns:1fr}.compact-alert{margin:0 20px 16px}.compact-actions{padding:14px 18px}.compact-actions>span{display:none}.professional-footer{padding:0 11px}}

/* Campo condicional "Otros": ocupa toda la fila y conserva el ritmo del formulario. */
.compact-answer>.compact-other{box-sizing:border-box!important;width:100%!important;max-width:none!important;margin:16px 0 0!important;padding:16px 18px!important;border:1px solid #d3dddc!important;border-left:0!important;border-radius:5px!important;background:#f7f9f8!important;display:grid!important;gap:8px!important}
.compact-answer>.compact-other[hidden]{display:none!important}
.compact-answer>.compact-other>span{color:#344d52!important;font-size:10px!important;font-weight:800!important}
.compact-answer>.compact-other em{color:#b42318;font-style:normal}
.compact-answer>.compact-other textarea{box-sizing:border-box!important;width:100%!important;min-height:86px!important;max-width:none!important;padding:12px 13px!important;border:1px solid #bdccca!important;border-radius:5px!important;background:#fff!important;outline:0;font:13px/1.5 Arial,sans-serif!important;resize:vertical}
.compact-answer>.compact-other textarea:focus{border-color:var(--cp)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--cp) 12%,transparent)!important}
.compact-answer>.compact-other>small{color:#829092!important;font-size:8px!important}

/* Los campos del catálogo traen un ancho de demostración; en la encuesta son fluidos. */
.compact-answer>.compact-field{box-sizing:border-box!important;width:100%!important;max-width:none!important;margin:0!important}
.compact-answer>.compact-field>input,.compact-answer>.compact-field>textarea{box-sizing:border-box!important;width:100%!important;max-width:none!important}
.compact-answer>.compact-field>textarea{min-height:130px!important;resize:vertical}

/* Estado seleccionado de checkbox: marca visible, no bloque sólido. */
.compact-options.is-checkbox .compact-control{display:grid;place-items:center}
.compact-options.is-checkbox .compact-option input:checked+.compact-control{border:0!important;background:var(--cp)!important;color:#fff}
.compact-options.is-checkbox .compact-option input:checked+.compact-control:after{content:'✓';font-size:12px;font-weight:900;line-height:1}

.application-list{display:grid;gap:10px;width:100%}.application-list-title{color:#41575c;font-size:10px;font-weight:800}.application-list [data-application-rows]{display:grid;gap:8px}.application-row{display:grid;grid-template-columns:1fr 38px;gap:7px}.application-row input{box-sizing:border-box;width:100%;padding:12px 13px;border:1px solid #bdccca;border-radius:5px;background:#fff;outline:0;font:13px Arial,sans-serif}.application-row input:focus{border-color:var(--cp);box-shadow:0 0 0 3px color-mix(in srgb,var(--cp) 12%,transparent)}.application-row button{border:1px solid #d3dddc;border-radius:5px;background:#fff;color:#66777a;cursor:pointer;font-size:19px}.application-row button:hover:not(:disabled){border-color:#b42318;color:#b42318}.application-row button:disabled{cursor:not-allowed;opacity:.35}.add-application{justify-self:start;padding:9px 12px;border:1px solid var(--cp);border-radius:5px;background:#fff;color:var(--cp);cursor:pointer;font-size:10px;font-weight:800}.add-application:hover{background:var(--cp-soft)}.application-list>small{color:#829092;font-size:8px}

.application-row{grid-template-columns:1fr 34px;align-items:center}.application-row .application-remove{align-self:center!important;width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;padding:8px!important;border:1px solid #dc2626!important;border-radius:5px!important;background:#dc2626!important;color:#fff!important}.application-row .application-remove:hover:not(:disabled){border-color:#b91c1c!important;background:#b91c1c!important;color:#fff!important}.application-row .application-remove:disabled{border-color:#e5e7eb!important;background:#f3f4f6!important;color:#9ca3af!important;opacity:1}.application-row .application-remove svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.application-row{grid-template-columns:minmax(0,1fr) 42px!important;align-items:stretch!important}.application-row>input{align-self:stretch!important;height:42px!important;margin:0!important}.application-row .application-remove{position:static!important;align-self:stretch!important;width:42px!important;height:42px!important;min-width:42px!important;min-height:42px!important;margin:0!important;transform:none!important}

/* Altura uniforme entre preguntas en escritorio. */
@media(min-width:701px){
  .compact-survey-shell{height:850px;display:flex;flex-direction:column;overflow:hidden}
  .compact-survey-top{flex:0 0 auto}
  .compact-survey-form{display:flex;flex:1 1 auto;min-height:0;flex-direction:column}
  .compact-question{flex:0 0 auto}
  .compact-answer{flex:1 1 auto;min-height:0;overflow-y:auto;scrollbar-gutter:stable}
  .compact-actions{flex:0 0 auto;margin-top:auto}
}
.selection-required{display:block;margin-top:7px;color:#9a5b00;font-size:9px;font-weight:700}
