/* LeadPilot : page du schéma de fonctionnement */

.schema-page { padding: 26px; display: flex; flex-direction: column; gap: 18px; }
.schema-entete { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.schema-entete .brand strong { font-size: 26px; }

/* Vue d'ensemble : entrées, LeadPilot, sorties */
.schema-flux { display: grid; grid-template-columns: minmax(0, 1fr) 40px minmax(0, 1.3fr) 40px minmax(0, 1fr); align-items: stretch; gap: 8px; }
.schema-col { display: flex; flex-direction: column; gap: 8px; }
.schema-col-titre { font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--muted); margin-bottom: 2px; }
.schema-boite { padding: 12px 14px; border-radius: var(--radius); background: var(--white); border: 1px solid var(--line); font-size: 13px; }
.schema-boite strong { display: block; font-size: 13.5px; margin-bottom: 2px; }
.schema-boite span { color: var(--muted); }
.schema-boite.entree { background: rgba(47, 111, 214, .07); }
.schema-boite.sortie { background: rgba(45, 165, 111, .09); }
.schema-coeur { padding: 16px; border-radius: var(--radius-lg); background: var(--accent-soft); border: 1px solid var(--accent-line); display: flex; flex-direction: column; gap: 10px; }
.schema-coeur-titre { font-family: var(--font-display); text-transform: uppercase; font-size: 26px; letter-spacing: .04em; }
.schema-fleche { display: flex; align-items: center; justify-content: center; color: var(--accent-text); }
.schema-fleche .lc { width: 26px; height: 26px; }

/* Cycle d'un agent */
.schema-cycle { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 10px; counter-reset: etape; }
.schema-etape { position: relative; padding: 14px 14px 14px 52px; border-radius: var(--radius); background: var(--white); border: 1px solid var(--line); font-size: 13px; counter-increment: etape; }
.schema-etape::before { content: counter(etape); position: absolute; left: 14px; top: 14px; width: 26px; height: 26px; border-radius: 50%; background: var(--ink); color: var(--white); display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 12px; }
.schema-etape strong { display: block; font-size: 13.5px; margin-bottom: 2px; }
.schema-etape span { color: var(--muted); }
.schema-etape.garde::before { background: var(--danger); color: #fff; }

/* Parcours d'un contact */
.schema-parcours { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.schema-etat { padding: 8px 14px; border-radius: var(--radius-pill); background: var(--paper); border: 1px solid var(--line); font-size: 13px; font-weight: 700; }
.schema-etat.chaud { background: var(--accent-soft); border-color: var(--accent-line); color: var(--accent-text); }
.schema-etat.gagne { background: rgba(45, 165, 111, .12); border-color: rgba(45, 165, 111, .3); color: var(--succes-texte); }
.schema-etat.clos { background: rgba(197, 59, 69, .08); border-color: rgba(197, 59, 69, .25); color: var(--danger-texte); }
.schema-parcours .lc { color: var(--muted); }

/* Architecture */
.schema-archi { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }

@media (max-width: 1000px) {
    .schema-flux { grid-template-columns: minmax(0, 1fr); }
    .schema-fleche .lc { transform: rotate(90deg); }
    .schema-archi { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 760px) {
    .schema-page { padding: 16px 14px; }
}
