/*  Minuteur 50/10 (§10.1)                                               */
/* ===================================================================== */
.mn-card { max-width: 560px; margin: 0 auto 18px; display: flex; flex-direction: column; gap: 14px; }
.mn-obj { font-size: 16px; padding: 12px 14px; }
.mn-row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.mn-durees { display: flex; gap: 10px; }
.mn-pas { display: flex; flex-direction: column; gap: 4px; font-family: var(--sans); font-size: 11px; color: var(--ink-soft); }
.mn-num { width: 76px; text-align: center; }
.mn-presets { display: flex; gap: 8px; }
.mn-options { display: flex; flex-direction: column; gap: 8px; border-top: 1px dashed var(--hairline); padding-top: 12px; }
.mn-switchrow { display: flex; align-items: center; justify-content: space-between; font-family: var(--sans); font-size: 13.5px; color: var(--ink); }
.mn-switch { width: 42px; height: 24px; border-radius: 20px; border: 1px solid var(--hairline); background: var(--paper-2); position: relative; cursor: pointer; transition: background .15s, border-color .15s; flex: 0 0 auto; }
.mn-switch-k { position: absolute; top: 2px; left: 2px; width: 18px; height: 18px; border-radius: 50%; background: var(--card); box-shadow: var(--shadow); transition: transform .15s; }
.mn-switch[aria-checked="true"] { background: var(--c-c); border-color: var(--c-c); }
.mn-switch[aria-checked="true"] .mn-switch-k { transform: translateX(18px); }
.mn-switch:focus-visible { outline: 2px solid var(--gold); outline-offset: 2px; }
.mn-go { justify-content: center; padding: 13px; font-size: 15px; }
.mn-go:disabled { opacity: .5; cursor: not-allowed; }
.mn-ios { margin: 0; }
/* Course : grand cadran */
.mn-course { align-items: center; }
.mn-cadran { position: relative; width: min(300px, 78vw); aspect-ratio: 1; display: grid; place-items: center; }
.mn-ring { width: 100%; height: 100%; }
.mn-ring-bg { stroke: var(--paper-2); stroke-width: 10.5; }
.mn-ring-fg { stroke-width: 10.5; }
.mn-ring-fg { transition: stroke-dashoffset .25s linear; }
.mn-ring-travail .mn-ring-fg { stroke: var(--c-c); }
.mn-ring-pause .mn-ring-fg { stroke: var(--gold); }
.mn-ring-center { position: absolute; inset: 0; display: grid; place-content: center; text-align: center; }
.mn-temps { font-family: var(--sans); font-variant-numeric: tabular-nums; font-weight: 600; font-size: clamp(46px, 13vw, 66px); line-height: 1; color: var(--ink); letter-spacing: -.01em; }
.mn-phase { font-family: var(--sans); font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: var(--ink-soft); margin-top: 6px; }
.mn-objline { display: flex; align-items: center; justify-content: center; gap: 8px; flex-wrap: wrap; font-family: var(--sans); font-size: 14px; color: var(--ink-soft); margin: 0; text-align: center; }
.mn-objline svg { width: 15px; height: 15px; color: var(--c-c); flex: 0 0 auto; }
.mn-ctrls { display: flex; gap: 10px; }
/* Bilan (mini-journal) */
.mn-bilan { align-items: center; text-align: center; }
.mn-bilan-h { display: flex; align-items: center; gap: 10px; }
.mn-bilan-h h2 { margin: 0; font-size: 21px; }
.mn-check { display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; background: var(--ok-surface); color: var(--ok-on); font-weight: 700; }
.mn-journal { display: flex; gap: 9px; flex-wrap: wrap; justify-content: center; }
/* Chaîne des blocs du jour */
.mn-chaine { max-width: 560px; margin: 0 auto; text-align: center; }
.mn-chaine-h { font-family: var(--sans); font-size: 13.5px; color: var(--ink-soft); margin-bottom: 8px; }
.mn-chaine-h b { color: var(--c-c); font-size: 16px; }
.mn-chaine-sem { opacity: .85; }
.mn-dots { display: flex; gap: 7px; justify-content: center; flex-wrap: wrap; }
.mn-dot { width: 11px; height: 11px; border-radius: 50%; background: var(--hairline); }
.mn-dot.on { background: var(--gold); box-shadow: 0 0 0 2px color-mix(in srgb, var(--gold) 25%, transparent); }
@media (max-width: 560px) { .mn-row2 { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .mn-ring-fg, .mn-switch-k { transition: none; } }
/*  Boîte de réception — capturer → décider → planifier (Super Atelier 4) */
/* ===================================================================== */
.br-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; flex-wrap: wrap; }
.br-count { flex: 0 0 auto; background: var(--c-surface); color: var(--c-on); }
.br-error, .br-capture, .br-list, .br-empty, .br-history { max-width: 780px; margin-left: auto; margin-right: auto; }
.br-error { margin-bottom: 12px; }
.br-capture { margin-bottom: 18px; display: flex; flex-direction: column; gap: 10px; border-left: 4px solid var(--c-c); }
.br-capture-copy { display: flex; align-items: baseline; justify-content: space-between; gap: 8px 14px; flex-wrap: wrap; font-family: var(--sans); }
.br-capture-copy b { color: var(--c-c); }
.br-capture-copy .muted { font-size: 12px; }
.br-capture-row { display: flex; gap: 9px; }
.br-input { flex: 1 1 auto; min-width: 0; }
.br-list { display: flex; flex-direction: column; gap: 9px; }
.br-list-head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; flex-wrap: wrap; margin: 3px 2px; }
.br-list-head h2 { margin: 0; font-size: 19px; }
.br-list-head p { margin: 0; font-size: 12px; }
.br-item { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 13px 15px; }
.br-item-body { min-width: 0; }
.br-item-text, .br-history-text { margin: 0; font-family: var(--serif); font-size: 16px; line-height: 1.4; color: var(--ink); overflow-wrap: anywhere; }
.br-item-meta { margin: 3px 0 0; font-family: var(--sans); font-size: 11.5px; color: var(--ink-soft); }
.br-actions { display: flex; align-items: center; justify-content: flex-end; gap: 5px; flex-wrap: wrap; flex: 0 0 auto; }
.br-empty { text-align: center; }
.br-vide { padding: 22px 18px 10px; }
.br-empty-actions { justify-content: center; }
.br-history { margin-top: 20px; padding: 0; overflow: hidden; }
.br-history-toggle { width: 100%; border: 0; background: transparent; color: var(--ink); display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 13px 15px; font: 700 12px/1.2 var(--sans); cursor: pointer; text-transform: uppercase; letter-spacing: .05em; }
.br-history-toggle svg { width: 16px; height: 16px; transition: transform .15s ease; }
.br-history-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
.br-history-list { border-top: 1px solid var(--hairline); }
.br-history-list[hidden] { display: none; }
.br-history-item { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 15px; border-bottom: 1px solid var(--hairline); }
.br-history-item:last-child { border-bottom: 0; }
.br-history-text { font-size: 14.5px; color: var(--ink-soft); }
.br-history-actions { flex: 0 0 auto; }
@media (max-width: 640px) {
  .br-item, .br-history-item { align-items: flex-start; flex-direction: column; }
  .br-actions { justify-content: flex-start; }
  .br-capture-row { flex-direction: column; }
  .br-capture-row .btn { width: 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) { .br-history-toggle svg { transition: none; } }
/*  Intentions de mise en œuvre (§10.3)                                  */
/* ===================================================================== */
.in-demain { max-width: 680px; margin: 0 auto 16px; border-left: 5px solid var(--gold); background: var(--card-2); display: flex; flex-direction: column; gap: 6px; }
.in-demain-lbl { display: flex; align-items: center; gap: 7px; font-family: var(--sans); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--c-c); }
.in-demain-lbl svg { width: 15px; height: 15px; }
.in-demain-act { font-family: var(--serif); font-size: 19px; line-height: 1.3; margin: 2px 0; color: var(--ink); }
.in-demain-ctx { font-family: var(--sans); font-size: 13px; color: var(--ink-soft); margin: 0 0 6px; }
.in-form { max-width: 680px; margin: 0 auto 18px; display: flex; flex-direction: column; gap: 12px; }
.in-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.in-grid .in-action { grid-column: 1 / -1; }
.in-form .input { width: 100%; }
.in-form-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.in-demain-tog { flex: 1 1 auto; }
.in-liste { max-width: 680px; margin: 0 auto; display: flex; flex-direction: column; gap: 10px; }
.in-vide { max-width: 680px; margin: 0 auto; text-align: center; padding: 18px; }
.in-sep { font-family: var(--sans); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--ink-soft); margin: 8px 0 2px; }
.in-card { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 13px 15px; }
.in-card-b { min-width: 0; }
.in-si { font-family: var(--sans); font-size: 13px; color: var(--ink-soft); margin: 0 0 2px; }
.in-alors { font-family: var(--serif); font-size: 15.5px; color: var(--ink); margin: 0; line-height: 1.35; }
.in-card-b b { color: var(--c-c); font-family: var(--sans); font-size: .82em; text-transform: uppercase; letter-spacing: .04em; }
.in-card-a { display: flex; align-items: center; gap: 4px; flex: 0 0 auto; flex-wrap: wrap; justify-content: flex-end; }
.in-pill-demain { background: var(--react-surface); color: var(--react-on); }
.in-done { opacity: .62; }
.in-done .in-alors { text-decoration: line-through; text-decoration-color: var(--hairline); }
@media (max-width: 560px) { .in-grid { grid-template-columns: 1fr; } .in-card { flex-direction: column; } .in-card-a { justify-content: flex-start; } }
/*  Générateur de semaine-type (§10.2)                                   */
/* ===================================================================== */
.st-gen { max-width: 980px; margin: 0 auto 16px; display: flex; flex-direction: column; gap: 14px; }
.st-gen-grid { display: grid; grid-template-columns: auto 1fr 2fr; gap: 14px; align-items: start; }
.st-annee { width: fit-content; }
.st-num { width: 96px; text-align: center; }
.st-jours { display: flex; flex-wrap: wrap; gap: 6px; }
.st-jour { cursor: pointer; min-width: 42px; text-align: center; }
.st-jour[data-on="true"] { background: var(--c-surface); color: var(--c-on); border-color: var(--c-surface); }
.st-chips { display: flex; flex-wrap: wrap; gap: 7px; }
.st-mat { cursor: pointer; }
.st-mat[data-on="true"] { background: var(--a-surface); color: var(--a-on); border-color: var(--a-surface); }
.st-mat-h { margin: 0 0 4px; }
.st-gen-foot { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; border-top: 1px dashed var(--hairline); padding-top: 12px; }
.st-vide { max-width: 980px; margin: 0 auto; text-align: center; padding: 14px; }
/* Jalons (échéances de devoirs IED) */
.st-jalons { max-width: 980px; margin: 0 auto 14px; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; border-left-color: var(--gold); background: var(--enjeu); }
.st-jalon { font-family: var(--sans); font-size: 12.5px; color: var(--enjeu-ink); background: color-mix(in srgb, var(--gold) 14%, var(--card)); border-radius: 20px; padding: 3px 10px; }
.st-jalon b { color: var(--enjeu-ink); }
/* Aujourd'hui */
.st-today { max-width: 980px; margin: 0 auto 16px; display: flex; flex-direction: column; gap: 10px; border-left: 4px solid var(--c-c); }
.st-today-h { display: flex; align-items: center; gap: 8px; font-family: var(--sans); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--c-c); }
.st-today-h svg { width: 15px; height: 15px; }
.st-today-list { display: flex; flex-direction: column; gap: 8px; }
/* Grille hebdomadaire (agenda responsive) */
.st-week-wrap { max-width: 980px; margin: 0 auto 14px; }
.st-week { display: grid; grid-template-columns: repeat(auto-fit, minmax(168px, 1fr)); gap: 12px; align-items: start; }
@media (max-width: 480px) { .st-week { grid-template-columns: 1fr; } }
.st-day { display: flex; flex-direction: column; gap: 8px; padding: 12px; }
.st-day-mer { background: color-mix(in srgb, var(--c-b) 5%, var(--card)); border-color: color-mix(in srgb, var(--c-b) 25%, var(--hairline)); }
.st-day-h { display: flex; align-items: baseline; justify-content: space-between; border-bottom: 1px solid var(--hairline); padding-bottom: 6px; }
.st-day-h b { font-family: var(--serif); font-size: 15px; }
.st-day-n { font-family: var(--sans); font-size: 11px; font-weight: 700; color: var(--ink-soft); }
.st-add { font-size: 12px; color: var(--c-c); padding: 5px 9px; align-self: flex-start; }
/* Créneau */
.st-cr { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; padding: 9px 11px; background: var(--card); border: 1px solid var(--hairline); border-left: 3px solid var(--c-a); border-radius: 10px; }
.st-cr-acquisition { border-left-color: var(--c-a); }
.st-cr-methode { border-left-color: var(--c-b); }
.st-cr-consolidation, .st-cr-reprise { border-left-color: var(--c-c); }
.st-cr-libre { border-left-color: var(--c-d); }
.st-cr-b { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.st-cr-time { font-family: var(--sans); font-variant-numeric: tabular-nums; font-size: 11.5px; font-weight: 700; color: var(--ink-soft); display: flex; align-items: baseline; gap: 7px; flex-wrap: wrap; }
.st-cr-type { font-weight: 700; text-transform: uppercase; letter-spacing: .04em; font-size: 9.5px; color: var(--ink-soft); }
.st-cr-acquisition .st-cr-type { color: var(--c-a); }
.st-cr-methode .st-cr-type { color: var(--c-b); }
.st-cr-consolidation .st-cr-type, .st-cr-reprise .st-cr-type { color: var(--c-c); }
.st-cr-obj { margin: 0; font-family: var(--serif); font-size: 13.5px; line-height: 1.35; color: var(--ink); }
.st-cr-mat { align-self: flex-start; margin-top: 1px; }
.st-cr-a { display: flex; gap: 2px; flex: 0 0 auto; }
/* Éditeur de créneau (inline) */
.st-cr-edit { flex-direction: column; align-items: stretch; gap: 9px; }
.st-ed-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.st-ed-grid .input, .st-ed-h, .st-ed-d { width: 100%; }
.st-ed-a { display: flex; gap: 6px; }
.st-actions { max-width: 980px; margin: 4px auto 0; display: flex; flex-wrap: wrap; gap: 9px; align-items: center; }
.st-liste { max-width: 980px; margin: 24px auto 0; display: flex; flex-direction: column; gap: 9px; }
.st-liste-t { font-size: 17px; margin: 0; }
.st-liste-i { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 15px; }
.st-liste-b { min-width: 0; }
.st-liste-titre { margin: 0 0 2px; font-family: var(--serif); font-size: 15px; display: flex; align-items: center; gap: 8px; }
.st-actif { background: var(--ok-surface); }
.st-liste-a { display: flex; gap: 4px; flex: 0 0 auto; }
@media (max-width: 760px) {
  .st-gen-grid { grid-template-columns: 1fr; }
  .st-ed-grid { grid-template-columns: 1fr; }
  .st-liste-i { flex-direction: column; align-items: flex-start; }
}
/*  Suivi des devoirs IED (§10.5)                                        */
/* ===================================================================== */
.dv-rec { max-width: 760px; margin: 0 auto 14px; border-left-color: var(--c-c); display: flex; flex-direction: column; gap: 3px; }
.dv-rec-vide { max-width: 760px; margin: 0 auto 14px; text-align: center; }
.dv-rec-lbl { font-family: var(--sans); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--c-c); }
.dv-rec-t { font-family: var(--serif); font-size: 19px; line-height: 1.3; margin: 3px 0; color: var(--ink); }
.dv-rec-s { font-family: var(--sans); font-size: 13px; color: var(--ink-soft); margin: 0; }
.dv-echeance { max-width: 760px; margin: 0 auto 14px; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 14px; }
.dv-echeance svg { width: 16px; height: 16px; color: var(--c-c); flex: 0 0 auto; }
.dv-echeance-urgent { border-left-color: var(--gold); background: var(--enjeu); }
.dv-echeance-urgent svg { color: var(--gold); }
.dv-form { max-width: 760px; margin: 0 auto 16px; display: flex; flex-direction: column; gap: 12px; }
.dv-form-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 12px; }
.dv-form-grid .input { width: 100%; }
.dv-form-foot { display: flex; gap: 9px; align-items: center; }
.dv-form-foot .input { flex: 1 1 auto; min-width: 0; }
.dv-liste { max-width: 760px; margin: 0 auto; display: flex; flex-direction: column; gap: 9px; }
.dv-vide { max-width: 760px; margin: 0 auto; text-align: center; padding: 18px; }
.dv-i { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 15px; border-left: 3px solid var(--hairline); }
.dv-i-retard { border-left-color: var(--danger); }
.dv-i-urgent { border-left-color: var(--gold); }
.dv-i-avenir { border-left-color: var(--hairline); }
.dv-i-depose { border-left-color: var(--c-a); }
.dv-i-corrige { border-left-color: var(--method); }
.dv-i-b { min-width: 0; }
.dv-i-t { margin: 0 0 2px; font-family: var(--serif); font-size: 15px; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.dv-i-a { display: flex; align-items: center; gap: 6px; flex: 0 0 auto; }
.dv-pill-retard { background: var(--danger-surface); }
.dv-pill-urgent { background: var(--warn-bg); color: var(--warn-ink); }
.dv-pill-avenir { background: var(--card); color: var(--ink-soft); border: 1px solid var(--hairline); }
.dv-pill-depose { background: var(--a-surface); }
.dv-pill-corrige { background: var(--ok-surface); }
.dv-pill-note { background: var(--n-surface); }
/* Détail */
.dv-detail { max-width: 760px; margin: 0 auto; display: flex; flex-direction: column; gap: 12px; border-left: 3px solid var(--c-c); }
.dv-detail-h { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.dv-detail-t { margin: 0; font-size: 19px; }
.dv-detail-row { display: flex; flex-wrap: wrap; gap: 14px; align-items: flex-end; }
.dv-switch { width: auto; gap: 10px; }
.dv-note-i { width: 90px; text-align: center; font-variant-numeric: tabular-nums; }
.dv-detail-a { display: flex; flex-wrap: wrap; gap: 9px; }
@media (max-width: 620px) {
  .dv-form-grid { grid-template-columns: 1fr; }
  .dv-i { flex-direction: column; align-items: flex-start; }
  .dv-detail-row { flex-direction: column; align-items: stretch; gap: 10px; }
}
/*  Tableau de délestage (§10.4)                                         */
/* ===================================================================== */
.de-annee-row { max-width: 1000px; margin: 0 auto 14px; display: flex; align-items: center; gap: 12px; }
.de-annee { width: fit-content; }
.de-jauges { max-width: 1000px; margin: 0 auto 16px; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 16px; align-items: start; }
.de-jauge { display: flex; flex-direction: column; gap: 5px; }
.de-jauge-h { display: flex; align-items: baseline; justify-content: space-between; font-family: var(--sans); font-size: 12.5px; color: var(--ink-soft); }
.de-jauge-h b { font-variant-numeric: tabular-nums; font-size: 16px; color: var(--ink); }
.de-jauge-bar { height: 8px; border-radius: 6px; background: var(--paper-2); overflow: hidden; }
.de-jauge-fill { display: block; height: 100%; border-radius: 6px; transition: width .25s ease; }
.de-fill-janvier { background: var(--c-d); }
.de-fill-printemps { background: var(--c-a); }
.de-fill-session { background: var(--ink-soft); }
.de-jauges-n { grid-column: 1 / -1; margin: 0; }
.de-cols { max-width: 1000px; margin: 0 auto; display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 14px; align-items: start; }
.de-col { display: flex; flex-direction: column; gap: 9px; padding: 12px; }
.de-col-janvier { border-top: 3px solid var(--c-d); }
.de-col-printemps { border-top: 3px solid var(--c-a); }
.de-col-session { border-top: 3px solid var(--ink-soft); }
.de-col-h { display: flex; align-items: baseline; justify-content: space-between; border-bottom: 1px solid var(--hairline); padding-bottom: 6px; }
.de-col-h b { font-family: var(--serif); font-size: 15px; }
.de-col-n { font-family: var(--sans); font-size: 11px; font-weight: 700; color: var(--ink-soft); }
.de-col-vide { text-align: center; padding: 10px 6px; }
.de-m { display: flex; flex-direction: column; gap: 8px; padding: 11px; border: 1px solid var(--hairline); border-radius: 11px; background: var(--card); }
.de-m-alerte { border-color: color-mix(in srgb, var(--danger) 45%, var(--hairline)); background: color-mix(in srgb, var(--danger) 5%, var(--card)); }
.de-m-h { display: flex; align-items: flex-start; gap: 9px; }
.de-voyant { font-size: 14px; line-height: 1.3; flex: 0 0 auto; }
.de-m-b { min-width: 0; }
.de-m-t { margin: 0 0 2px; font-family: var(--serif); font-size: 14px; line-height: 1.3; display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
.de-m-s { margin: 0; font-size: 11.5px; }
.de-statut { font-size: 9.5px; padding: 1px 7px; }
.de-statut-fondamentale-critique { background: var(--e-surface); }
.de-statut-fondamentale { background: var(--a-surface); }
.de-statut-complementaire { background: var(--n-surface); }
.de-vseg { width: 100%; }
.de-vbtn { flex: 1 1 0; padding: 6px 4px; font-size: 12px; text-align: center; }
.de-vbtn[data-on="true"] { background: var(--d-surface); color: var(--d-on); }
.de-pret { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-family: var(--sans); font-size: 12.5px; color: var(--ink); cursor: default; }
.de-avis { margin: 0; font-family: var(--sans); font-size: 11.5px; line-height: 1.45; padding: 7px 9px; border-radius: 8px; }
.de-avis-risque { color: var(--danger); background: var(--danger-bg); }
.de-avis-tiede { color: var(--enjeu-ink); background: var(--enjeu); }
.de-avis-ok { color: var(--method); background: var(--method-bg); }
@media (max-width: 860px) {
  .de-jauges { grid-template-columns: 1fr; gap: 10px; }
  .de-cols { grid-template-columns: 1fr; }
}

/* =====================================================================
   Mes modalités d'épreuve — Super Atelier, lot 7
   ===================================================================== */
.ep-head, .ep-doctrine, .ep-summary, .ep-filters, .ep-list { max-width: var(--gab-atelier); margin-left: auto; margin-right: auto; }
.ep-head { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--sp-4); }
.ep-doctrine { display: flex; gap: 10px; align-items: flex-start; margin-bottom: var(--sp-4); }
.ep-doctrine .pastille { flex: 0 0 auto; margin-top: 2px; }
.ep-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 0; overflow: hidden; margin-bottom: 12px; }
.ep-stat { min-width: 0; padding: 15px 16px; display: flex; flex-direction: column; gap: 2px; border-left: 1px solid var(--hairline); }
.ep-stat:first-child { border-left: 0; }
.ep-stat b { font-family: var(--serif); font-size: 26px; color: var(--c-text); }
.ep-stat span { font-size: 11.5px; color: var(--ink-soft); }
.ep-filters { margin-bottom: 14px; overflow-x: auto; }
.ep-list { display: grid; gap: 11px; }
.ep-subject { padding: 0; overflow: hidden; border-left: 3px solid var(--hairline); }
.ep-subject[data-status='confirmee'] { border-left-color: var(--ok-text); }
.ep-subject[data-status='partielle'] { border-left-color: var(--gold); }
.ep-subject-head { padding: 15px 17px; display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.ep-subject-title { min-width: 0; display: flex; align-items: flex-start; gap: 10px; }
.ep-subject-title .pastille { flex: 0 0 auto; margin-top: 3px; }
.ep-subject h2 { margin: 1px 0 2px; font-size: 18px; }
.ep-status { margin: 0; font-size: 11.5px; }
.ep-conditions { padding: 0 17px 12px 43px; display: flex; flex-wrap: wrap; gap: 6px; }
.ep-source { margin: -4px 17px 12px 43px; font-size: 11.5px; overflow-wrap: anywhere; }
.ep-next { padding: 12px 17px; border-top: 1px solid var(--hairline); background: var(--paper-2); display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.ep-next > span { font-size: 12px; line-height: 1.45; }
.ep-form { padding: 18px; border-top: 1px solid var(--hairline); background: color-mix(in srgb, var(--c-c) 3%, var(--card)); display: grid; gap: 14px; }
.ep-form-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.ep-form .input { width: 100%; min-width: 0; }
.ep-exercises { margin: 0; padding: 12px; border: 1px solid var(--hairline); border-radius: var(--r-m); }
.ep-exercises legend { padding: 0 5px; }
.ep-checks { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px 12px; }
.ep-check { min-height: 34px; align-items: flex-start; }
.ep-source-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(150px, 1fr); gap: 12px; }
.ep-form-actions { padding-top: 4px; }
.ied-modalites-cta { max-width: var(--gab-atelier); margin: 14px auto; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-left: 3px solid var(--c-c); }
.ied-modalites-cta h2, .ied-modalites-cta p { margin: 0; }
.ied-modalites-cta p { margin-top: 4px; }
@media (max-width: 760px) {
  .ep-head, .ep-next, .ied-modalites-cta { flex-direction: column; align-items: stretch; }
  .ep-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ep-stat:nth-child(3) { border-left: 0; border-top: 1px solid var(--hairline); }
  .ep-stat:nth-child(4) { border-top: 1px solid var(--hairline); }
  .ep-form-grid, .ep-checks, .ep-source-grid { grid-template-columns: 1fr; }
  .ep-form-actions .btn, .ep-next .btn { width: 100%; }
}
@media (max-width: 520px) {
  .ep-subject-head { align-items: flex-start; flex-wrap: wrap; }
  .ep-subject-head > .btn { margin-left: 28px; }
  .ep-conditions, .ep-source { padding-left: 17px; margin-left: 0; }
}


/* Lot 7 : le cadran-héros — la phase se lit au pigment, la pause respire */
.mn-preset[data-on="true"] { background: var(--c-surface); color: var(--c-on); border-color: var(--c-surface); }
.mn-ph-travail .mn-phase { color: var(--c-text); font-weight: 700; }
.mn-ph-pause .mn-phase { color: var(--gold-text); font-weight: 700; }
.mn-course.is-pause .mn-cadran { animation: mn-respire 4s ease-in-out infinite alternate; }
@keyframes mn-respire { to { transform: scale(.985); opacity: .9; } }
@media (prefers-reduced-motion: reduce) { .mn-course.is-pause .mn-cadran { animation: none; } }
.mn-celebration { width: 38px; height: 38px; }
