/* Analyse d'un QCM pour le professeur (0.5.31). */
.sva{--g:#203e3c;--cream:#f5f5ef;--line:#dce1d9;--ok:#2d7b61;--ko:#b3402f;--ocre:#a8803f;max-width:1200px;margin:0 auto;display:grid;gap:16px;color:var(--g);font:15px/1.55 "Segoe UI",system-ui,sans-serif}
.sva.sva h2{font:600 1.15rem Georgia,"Times New Roman",serif;margin:0 0 8px;color:var(--g)}
.sva-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px}
.sva-eyebrow{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:#7d5c26}
.sva .sva-title{font:600 1.9rem/1.2 Georgia,"Times New Roman",serif;margin:6px 0 0}
.sva-select{display:flex;flex-direction:column;font-size:.8rem;color:#5f6b67}
.sva-select select{font:inherit;font-size:.95rem;color:var(--g);padding:9px 10px;border:1px solid #cbd2c8;border-radius:6px;background:#fff;min-height:44px;margin-top:2px}
.sva-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.sva-tile,.sva-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 16px}
.sva-big{font:600 1.7rem/1.2 Georgia,"Times New Roman",serif}
.sva-muted{color:#5f6b67;font-size:.85rem}
.sva-dist{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;align-items:end;height:140px}
.sva-col{display:flex;flex-direction:column;justify-content:flex-end;gap:4px;height:100%;text-align:center}
.sva-colbar{display:block;border-radius:4px 4px 0 0;background:#9fb7ae;min-height:2px}
.sva-colbar.top{background:var(--ok)}
.sva-main{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.sva-list{padding:16px 18px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:4px;max-height:820px;overflow:auto}
.sva.sva button.sva-q{all:unset;flex-shrink:0;box-sizing:border-box;display:grid;grid-template-columns:40px minmax(0,1fr) 130px 48px 70px;align-items:center;gap:8px;min-height:44px;padding:8px 10px;border-radius:8px;cursor:pointer;border:2px solid transparent}
.sva.sva button.sva-q:hover{background:var(--cream)}
.sva.sva button.sva-q:focus-visible{outline:3px solid var(--ocre)}
.sva.sva button.sva-q[aria-current=true]{border-color:var(--g);background:var(--cream)}
.sva.sva button.sva-q.hit{border-color:var(--ocre);background:#f6eedf}
.sva-qn{font-weight:600}
.sva-qt{min-width:0;font-size:.92rem}
.sva-qr{text-align:right}
.sva-qlv{text-align:right}
.sva-hbar{display:block;height:9px;background:#e3e7e1;border-radius:5px;overflow:hidden}
.sva-hbar i{display:block;height:100%}
.sva-detail{padding:16px 18px;display:flex;flex-direction:column;gap:10px;min-width:0}
.sva-label{font-size:.75rem;letter-spacing:.05em;text-transform:uppercase;color:#5f6b67}
.sva-cons{font-weight:600;background:var(--cream);border-radius:8px;padding:10px 12px;white-space:pre-line}
.sva-cons p{margin:.2em 0}
.sva-hist{display:flex;flex-direction:column;gap:6px}
.sva-hrow{display:grid;grid-template-columns:56px minmax(0,1fr) 140px 46px;gap:8px;align-items:center;font-size:.9rem}
.sva-hitem{font-weight:600}
.sva-hpct{text-align:right;font-weight:600}
.sva-good{color:var(--ok);font-size:.8rem}
.sva-bad{color:var(--ko)}
.sva-alert{margin:0;padding:8px 12px;border-radius:6px;background:#f6eedf;border:1px solid #e5d3b0;color:#6d5320;font-size:.85rem}
.sva-wrong{display:flex;flex-wrap:wrap;gap:4px 10px;justify-content:space-between;padding:6px 0;border-bottom:1px solid #eef0ec;font-weight:600}
.sva-btn{align-self:flex-start;display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:1px solid var(--g);border-radius:6px;text-decoration:none;color:var(--g)}
.sva-card.is-off{opacity:.6;background:#f7f7f3}
.sva-fams{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:10px}
.sva.sva button.sva-fam{all:unset;box-sizing:border-box;display:flex;flex-direction:column;gap:3px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;cursor:pointer;background:var(--cream);min-height:44px}
.sva.sva button.sva-fam[aria-pressed=true]{border-color:var(--ocre);background:#f6eedf}
.sva.sva button.sva-fam:focus-visible{outline:3px solid var(--ocre)}
.sva.sva .sva-tablewrap{overflow-x:auto}
.sva.sva .sva-table{width:100%;border-collapse:collapse;min-width:680px;font-size:.92rem}
.sva.sva .sva-table th{text-align:left;color:#5f6b67;font-size:.8rem;font-weight:600;padding:8px;border-bottom:1px solid var(--line)}
.sva.sva .sva-table td{padding:8px;border-bottom:1px solid #eef0ec}
.sva.sva .sva-table tr.hit{background:#f6eedf}
.sva.sva .sva-table tr.dim{opacity:.55}
.sva-name{font-weight:600}
.sva-right{text-align:right}
@media (max-width:860px){
  .sva-main{grid-template-columns:1fr}
  .sva-list{border-right:0;border-bottom:1px solid var(--line);max-height:none}
  .sva.sva button.sva-q{grid-template-columns:36px minmax(0,1fr) 48px;grid-template-areas:"n t r" "b b l"}
  .sva-q .sva-qn{grid-area:n}.sva-q .sva-qt{grid-area:t}.sva-q .sva-qr{grid-area:r}.sva-q .sva-hbar{grid-area:b}.sva-q .sva-qlv{grid-area:l}
  .sva-hrow{grid-template-columns:44px minmax(0,1fr) 46px}
  .sva-hrow .sva-hbar{grid-column:1/-1}
}
/* 0.5.31 : filtres, consigne repliée, analyse ouverte sur place */
.sva-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}
.sva-select input{font:inherit;font-size:.95rem;color:var(--g);padding:8px 10px;border:1px solid #cbd2c8;border-radius:6px;background:#fff;min-height:44px;margin-top:2px;box-sizing:border-box}
.sva h3.sva-title{font:600 1.35rem/1.25 Georgia,"Times New Roman",serif;margin:0}
.sva-qtitle{font-weight:600}
.sva-consdet{border:1px solid var(--line);border-radius:8px;background:var(--cream)}
.sva-consdet>summary{cursor:pointer;padding:9px 12px;font-weight:600;color:var(--g)}
.sva-consdet>.sva-cons{background:transparent;padding:0 12px 10px}
.sva-consdet>.sva-wrong{padding:6px 12px}
.sva-ok{color:var(--ok)}
.sv-inline-report .sva{max-width:none}

.sva.sva .sva-table thead th{background:transparent}
/* Pas de débordement sur téléphone (grilles en minmax(0,1fr), filtres qui passent à la ligne) */
.sva.sva{grid-template-columns:minmax(0,1fr);min-width:0;max-width:100%;box-sizing:border-box}
.sva.sva .sva-tiles{grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr))}
.sva.sva .sva-select{min-width:0;flex:1 1 140px}
.sva.sva .sva-select select,.sva.sva .sva-select input{width:100%;max-width:100%}
.sv-analysis-slot{min-width:0;max-width:100%}
