/* 15/10/2026 (Ju) : realisme sportif — cellule medicale, onglet « Medical & contrat »,
   clauses a la table de negociation (public/sportif.js). Memes codes que les fiches
   (fiches.css) : blocs sombres, filets dores, mots plutot que chiffres. Mobile d'abord. */
.spt { color: #e8eefc; }
.spt-modal { max-width: 760px; width: calc(100% - 32px); }
.spt-titre { text-align: center; margin: 0 0 6px; font-size: 22px; }
.spt-grille { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
.spt-bloc { background: #050b18b3; border: 1px solid #ffffff14; border-radius: 12px; padding: 12px; margin-bottom: 12px; }
.spt-bloc h4 { margin: 0 0 8px; font-size: 12px; text-transform: uppercase; letter-spacing: .6px; color: var(--gold, #ffd76a); }
.spt-note { margin: -2px 0 6px; opacity: .85; }
.spt-pols { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 8px; }
.spt-pol { text-align: left; background: #0b1428; border: 1px solid #ffffff1f; border-radius: 10px; padding: 10px; color: inherit; cursor: pointer; display: flex; flex-direction: column; gap: 4px; font: inherit; }
.spt-pol span { font-size: 12px; opacity: .78; line-height: 1.35; }
.spt-pol.on { border-color: var(--green, #3ddc97); box-shadow: 0 0 0 1px var(--green, #3ddc97) inset; }
.spt-j { padding: 10px 0; border-bottom: 1px solid #ffffff10; }
.spt-j:last-child { border-bottom: 0; }
.spt-j-t { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-bottom: 3px; }
.spt-etat { font-size: 11px; padding: 1px 7px; border-radius: 999px; border: 1px solid #ffffff2a; }
.spt-etat.arret { color: #fb7185; border-color: #fb718566; }
.spt-etat.reprise { color: #ffd76a; border-color: #ffd76a66; }
.spt-etat.force { color: #fb923c; border-color: #fb923c66; }
.spt-etat.menage { color: #3ddc97; border-color: #3ddc9766; }
.spt-avis { margin: 6px 0; padding: 7px 10px; border-left: 3px solid #8ab4ff; background: #ffffff08; border-radius: 6px; font-size: 13px; line-height: 1.4; }
.spt-actions { gap: 8px; flex-wrap: wrap; margin-top: 6px; }
.spt-l { padding: 6px 0; border-bottom: 1px solid #ffffff0d; }
.spt-l:last-child { border-bottom: 0; }
.spt-clauses { margin-top: 12px; border: 1px solid #ffffff1a; border-radius: 10px; padding: 8px 10px; background: #050b1880; }
.spt-clauses summary { cursor: pointer; font-weight: 700; font-size: 13px; color: var(--gold, #ffd76a); }
.spt-cls { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 10px; margin-top: 10px; }
.spt-cl { display: flex; flex-direction: column; gap: 3px; font-size: 12px; }
.spt-choix { display: flex; flex-wrap: wrap; gap: 6px; margin: 2px 0; }
.spt-choix .btn { flex: 1 1 0; min-width: 0; padding-left: 6px; padding-right: 6px; white-space: nowrap; }
.spt-cl select { background: #0b1428; color: inherit; border: 1px solid #ffffff2a; border-radius: 8px; padding: 6px; font: inherit; max-width: 100%; }
.spt-cl small { opacity: .7; }
.spt-cl-txt { margin-top: 8px; padding-top: 6px; border-top: 1px dashed #ffffff1a; }
@media (max-width: 520px) {
    .spt-modal { width: calc(100% - 16px); }
    .spt-titre { font-size: 19px; }
    .spt-actions .btn { flex: 1 1 140px; }
}

/* 21/10/2026 (Ju : « bloc plus grand pour les clauses, qui prend aussi la partie de droite ») */
.ngo-reglages .spt-clauses { grid-column: 1 / -1; }
.ngo-reglages .spt-cls { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.spt-cl-lib input[type=range] { accent-color: var(--gold, #ffd76a); }
