.prose h1,.prose h2,.prose h3{font-weight:600;margin:1em 0 .4em}
.prose ul{list-style:disc;margin-left:1.25rem}
.prose ol{list-style:decimal;margin-left:1.25rem}
.prose p{margin:.5em 0}
.prose a{color:#4338ca;text-decoration:underline}
.cv-review {overflow-wrap:anywhere}
.cv-review textarea {resize:vertical}
.cv-review table {break-inside:avoid}
.cv-questionnaire{border:1px solid #cbd5e1;border-left:4px solid #4f46e5;background:#fff;padding:1rem}
.cv-questionnaire-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding-bottom:.8rem;border-bottom:1px solid #e2e8f0}
.cv-question-progress{flex:none;color:#4338ca;background:#eef2ff;padding:.25rem .55rem;font-size:.72rem;font-weight:600}
.cv-question-list{list-style:none;margin:0;padding:0}
.cv-question{display:grid;grid-template-columns:2rem minmax(0,1fr);gap:.8rem;padding:1rem 0;border-bottom:1px solid #e2e8f0}
.cv-question-number{display:grid;place-items:center;width:1.7rem;height:1.7rem;background:#eef2ff;color:#4338ca;font-size:.75rem;font-weight:700}
.cv-question-label{display:block;color:#1e293b;font-size:.9rem;font-weight:600;line-height:1.4}
.cv-question-why{margin:.2rem 0 .55rem;color:#64748b;font-size:.75rem;line-height:1.4}
.cv-question-answer{display:block;width:100%;border:1px solid #cbd5e1;background:#fff;padding:.65rem .75rem;color:#1f2937;font-size:.85rem}
.cv-question-answer:focus{outline:3px solid rgba(79,70,229,.2);outline-offset:1px;border-color:#4f46e5}
.cv-question.is-applied .cv-question-number{background:#dcfce7;color:#166534}
.cv-question-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.9rem}
.cv-question-demo{margin-top:.65rem;color:#92400e;font-size:.72rem;line-height:1.4}
.cv-editor{background:#eef2ff;border:1px solid #c7d2fe;padding:1rem}
.cv-editor-bar{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:.85rem}
.cv-editor-badge{flex:none;border:1px solid #a5b4fc;background:#fff;color:#4338ca;padding:.25rem .55rem;font-size:.7rem;line-height:1.25rem}
.cv-editor form{max-width:52rem;margin:0 auto}
.cv-editor textarea{display:block;width:100%;min-height:42rem;padding:2.5rem 3rem;border:1px solid #cbd5e1;border-radius:0;background:#fff;color:#1f2937;box-shadow:0 12px 28px rgba(49,46,129,.12);font-family:Arial,"Helvetica Neue",sans-serif;font-size:.875rem;line-height:1.55;tab-size:2}
.cv-editor textarea:focus{outline:3px solid rgba(79,70,229,.22);outline-offset:2px;border-color:#4f46e5}
.cv-editor-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.85rem}
.cv-editor-note{max-width:52rem;margin:.65rem auto 0;font-size:.72rem;line-height:1.4;color:#475569}
.cv-editor button:focus-visible{outline:3px solid rgba(79,70,229,.3);outline-offset:2px}
@media (max-width:640px){
  .cv-questionnaire-header,.cv-question-actions{align-items:stretch;flex-direction:column}
  .cv-question-progress{align-self:flex-start}
  .cv-question{grid-template-columns:1.75rem minmax(0,1fr);gap:.55rem}
  .cv-editor{padding:.8rem}
  .cv-editor-bar,.cv-editor-footer{align-items:stretch;flex-direction:column}
  .cv-editor-badge{align-self:flex-start}
  .cv-editor textarea{min-height:34rem;padding:1.5rem 1.1rem;font-size:.82rem}
}
@media print {
  body:has(.cv-review) nav, .cv-input, .cv-print, .cv-filter, .cv-questionnaire, .cv-editor {display:none}
  .cv-review > div {display:block}
  .cv-review li, .cv-review table {break-inside:avoid}
}
