.revision { max-width: 1100px; }
.revision-filtres { display: flex; gap: 1rem; align-items: end; flex-wrap: wrap; margin: 2rem 0 1rem; padding: 1.2rem; border: 1px solid var(--ligne); border-radius: var(--rayon); background: var(--surface); }
.revision-filtres > div:first-child { flex: 2 1 280px; }
.revision-filtres > div { flex: 1 1 180px; min-width: 0; }
.revision-filtres label { display: block; font-weight: 600; font-size: .9rem; margin-bottom: .4rem; }
.revision-filtres input, .revision-filtres select { width: 100%; min-width: 0; font: inherit; color: var(--texte); background: var(--fond); border: 1px solid var(--ligne); border-radius: 6px; padding: .65rem; }
.revision-actions, .fiche-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .8rem; }
.revision-actions p { margin: 0; }
#index-fiches { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: .5rem 1.5rem; margin: 1.5rem 0 2.5rem; font-size: .85rem; }
[hidden] { display: none !important; }
.fiche { scroll-margin-top: 8rem; margin: 2rem 0; padding: clamp(1rem, 3vw, 2rem); border: 1px solid var(--ligne); border-top: 4px solid var(--accent); border-radius: var(--rayon); background: var(--surface); }
.fiche h2 { margin: .25rem 0 1rem; padding: 0; border: 0; }
.fiche h3 { font-size: 1.03rem; margin: 1.3rem 0 .65rem; }
.fiche .surtitre { margin: 0; }
.fiche-actions { font-size: .85rem; padding-bottom: 1rem; border-bottom: 1px solid var(--ligne); }
.fiche-actions .btn { font-size: .8rem; padding: .4rem .7rem; }
.fiche-grille { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
.fiche-exemple { background: var(--surface-2); padding: 1rem; border-radius: 6px; }
.fiche-exemple h3 { margin-top: 0; }
.fiche-exemple p { margin-bottom: 0; }
.fiche-livrable { border-left: 3px solid var(--accent); padding-left: 1rem; }
.fiche-rappel details { border-top: 1px solid var(--ligne); padding: .75rem 0; }
.fiche-rappel summary { cursor: pointer; font-weight: 600; }
.fiche-rappel details p { margin: .7rem 0 0; color: var(--texte-doux); }
.retour-fiches { display: inline-block; font-size: .85rem; margin-top: 1rem; }
@media (max-width: 650px) { .fiche-grille { grid-template-columns: 1fr; gap: 0; } .revision { padding-top: 1.5rem; } }
@media print {
  :root, :root:not([data-theme]), :root[data-theme] { --texte: #000; --texte-doux: #222; --fond: #fff; --surface: #fff; --surface-2: #f3f3f3; --ligne: #bbb; --accent: #000; color-scheme: light; }
  @page { size: A4; margin: 14mm; }
  .revision { max-width: none; padding: 0; }
  .revision > .hero, .revision-filtres, .revision-actions, #index-fiches, .fiche-actions, .retour-fiches, #aucune-fiche { display: none !important; }
  .fiche { margin: 0; padding: 0; border: 0; border-radius: 0; break-before: page; font-size: 10pt; line-height: 1.35; }
  .fiche h2 { font-size: 18pt; }
  .fiche h3 { font-size: 11pt; margin: .65rem 0 .35rem; break-after: avoid; }
  .fiche p, .fiche ul, .fiche ol { margin-bottom: .5rem; }
  .fiche-grille { display: grid; grid-template-columns: 1fr 1fr; gap: 8mm; }
  .fiche li { margin-bottom: .2rem; }
  .fiche-rappel details { break-inside: avoid; padding: .35rem 0; }
  .fiche-rappel details p { margin-top: .3rem; }
  .fiche-exemple, .fiche-livrable { break-inside: avoid; }
  .imprimer-une .fiche:not(.fiche-imprimee) { display: none !important; }
}
