.parcours-v2 { max-width: 1100px; margin: 1.5rem auto; font-size: 1rem; }
.parcours-v2 [hidden] { display: none !important; }
.parcours-v2 h1 { font-size: clamp(1.4rem, 4vw, 2rem); }
.parcours-v2 label { display: flex; flex-direction: column; gap: .3rem; margin: .6rem 0; min-width: 0; }
.parcours-v2 input, .parcours-v2 select { box-sizing: border-box; max-width: 100%; min-width: 0; padding: .5rem; font: inherit; }
.parcours-v2 button, .parcours-v2 .exercise-bank__actions a { min-height: 2.5rem; padding: .45rem .65rem; font: inherit; cursor: pointer; }
.parcours-v2 button:disabled { cursor: default; opacity: .55; }
.parcours-v2 :focus-visible { outline: 3px solid #205d99; outline-offset: 3px; }
.parcours-v2 .pv2-list { list-style: none; padding: 0; }
.parcours-v2 .pv2-list > li { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .6rem; padding: .8rem; border-bottom: 1px solid #cedce2; overflow-wrap: anywhere; }
.parcours-v2 ol.pv2-list { counter-reset: exercise; }
.parcours-v2 ol.pv2-list > li { counter-increment: exercise; }
.parcours-v2 ol.pv2-list > li::before { content: counter(exercise) "."; font-weight: bold; }
.parcours-v2 .pv2-filters { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr)); gap: .7rem; align-items: end; }
.parcours-v2 .pv2-save { margin: 1rem 0; }
.parcours-v2 .pv2-preview-notice { padding: .8rem; border: 2px solid #205d99; background: #edf5ff; }
.parcours-v2 progress { width: 100%; height: 1rem; }
.parcours-v2 #pathResponse, .parcours-v2 .exercise-bank__panel { min-width: 0; }
.parcours-v2 mjx-container { max-width: 100%; overflow-x: auto; overflow-y: hidden; padding-bottom: .2rem; }
@media (max-width: 600px) {
  .parcours-v2 { margin: 1rem .5rem; }
  .parcours-v2 .exercise-bank__panel { padding: .7rem; }
  .parcours-v2 .pv2-list > li { align-items: stretch; flex-direction: column; }
  .parcours-v2 .exercise-bank__actions { flex-wrap: wrap; }
}
