.o-suivi-100 { display: grid; gap: 14px; margin-block: 18px; }
.o-suivi-100 .s1__chiffre { display: flex; align-items: flex-end; gap: 8px; direction: ltr; }
.o-suivi-100 .s1__chiffre .us-unite { font-size: clamp(2.4rem, 11vw, 3.6rem); }
.o-suivi-100 .s1__total[data-fini="true"] { outline-color: var(--vert); }
.o-suivi-100 .s1__bloc { display: grid; gap: 10px; padding-block-start: 10px; border-block-start: 2px dashed var(--gravier); }
.o-suivi-100 .s1__titre { margin: 0; font-size: 1.5rem; }
.o-suivi-100 .s1__sous { margin: 8px 0 0; font-size: 1.1rem; }
.o-suivi-100 .s1__liste-ligne { display: grid; }
.o-suivi-100 .s1__ligne, .o-suivi-100 .s1__perso { padding: 10px 12px; }
.o-suivi-100 [data-prep-liste] .us-ligne__titre { flex: 1; min-inline-size: 0; font-weight: 700; }
.o-suivi-100 [data-prep-liste] small { display: block; color: var(--vert); font-weight: 650; font-size: .84rem; }
.o-suivi-100 [data-prep-liste] a { flex: none; padding-inline: 8px; font-size: .92rem; }
.o-suivi-100 [data-prep-jours] { font-family: var(--titre); font-weight: 900; font-size: clamp(2.2rem, 11vw, 3.2rem); line-height: 1; color: var(--peche); }
.o-suivi-100 .s1__corps > .badge { justify-self: start; }
.o-suivi-100 .s1__carnet { margin: 0; color: var(--gris); font-size: .92rem; }
.o-suivi-100 .s1__corps { display: grid; gap: 8px; min-inline-size: 0; }
.o-suivi-100 .s1__haut { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 12px; }
.o-suivi-100 .s1__haut strong { min-inline-size: 0; overflow-wrap: anywhere; }
.o-suivi-100 .s1__compte { margin: 0; font-weight: 700; }
.o-suivi-100 .s1__deux { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr)); gap: 0 12px; }
.o-suivi-100 .s1__champ { display: grid; gap: 4px; margin-block-end: 6px; }
.o-suivi-100 .s1__champ > span { font-weight: 700; color: var(--gris); font-size: .92rem; }
.o-suivi-100 .s1__code { margin: 4px 0 10px; padding: 12px; border-radius: 10px; background: var(--bitume); font-family: var(--titre); font-size: 1.35rem; font-weight: 900; letter-spacing: .08em; overflow-wrap: anywhere; direction: ltr; text-align: start; }
.o-suivi-100 .s1__regle { padding: 10px 12px; border-inline-start: 6px solid var(--orange); background: var(--orange-sombre); color: var(--peche); border-radius: 8px; }
.o-suivi-100 .s1__confirm { display: grid; gap: 10px; padding: 12px; border-radius: 10px; background: var(--bitume); }
.o-suivi-100 .s1__confirm[hidden] { display: none; }
.o-suivi-100 .s1__ajout .boutons { margin-block-start: 6px; }
