/* Complément à admission.css, propre au questionnaire. */
.q { display: grid; grid-template-columns: 2.2rem 1fr auto; gap: .5rem 1rem;
       align-items: start; padding: .9rem 0; border-bottom: 1px solid var(--trait); }
  .q:last-child { border-bottom: 0; }
  .q-num { font-weight: 600; color: var(--encre-doux); }
  .q-lib { line-height: 1.5; }
  .q-rep { display: flex; gap: .5rem; }
  .q-rep label { display: inline-flex; align-items: center; gap: .35rem; margin: 0;
       padding: .4rem .85rem; border: 1px solid var(--trait); border-radius: 999px;
       cursor: pointer; font-size: .9rem; white-space: nowrap; }
  .q-rep input { width: auto; margin: 0; }
  .q-rep label:has(input:checked) { background: var(--encre); color: var(--creme); border-color: var(--encre); }
  .q-prec { grid-column: 2 / -1; }
  .q-prec input { margin-top: .3rem; }
  .q[data-manquante="1"] { background: #FDF3F1; margin-inline: -.75rem; padding-inline: .75rem;
       border-radius: 8px; }
  .avancement { position: sticky; bottom: 0; padding: .9rem 1.25rem; margin-top: 1.5rem;
       background: #fff; border: 1px solid var(--trait); border-radius: var(--r);
       display: flex; gap: 1rem; align-items: center; justify-content: space-between; }
  .jauge { flex: 1; height: 6px; background: var(--trait); border-radius: 3px; overflow: hidden; }
  .jauge span { display: block; height: 100%; background: var(--or); width: 0; transition: width .2s; }
  .avancement button { width: auto; padding: .6rem 1.5rem; }
