/* Remplacement de personne (Administration, 30/10/2026) : écran en étapes, aperçus, progression en direct */
.sw-status{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.sw-st{display:grid;gap:5px;align-content:start;padding:14px 16px;border-radius:16px;border:1px solid var(--s2-line,#2a2735);background:rgba(255,255,255,.025);font-size:13.5px}
.sw-st b{font-weight:600;color:#fff}.sw-st small{color:var(--s2-muted,#9a9aa6);line-height:1.45}.sw-st button{justify-self:start;margin-top:4px}
.sw-st .is-ok,.sw-ref .is-ok,.is-ok{color:#34d399}.sw-st .is-ko,.sw-ref .is-ko,.is-ko{color:#fb7185}
.sw-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.sw-drop{display:grid;place-items:center;min-height:120px;margin-top:12px;border:2px dashed var(--s2-line2,#2a2735);border-radius:16px;background:var(--s2-surface,#0f0d13);cursor:pointer;color:var(--s2-muted,#9a9aa6);text-align:center;padding:12px;transition:border-color .15s}
.sw-drop:hover,.sw-drop.is-over{border-color:#ff4f8b;color:#fff}
.sw-ref{display:grid;grid-template-columns:120px 1fr;gap:14px;align-items:center;margin-top:12px}.sw-ref img{width:120px;height:120px;object-fit:cover;border-radius:12px}
.sw-video{width:100%;max-height:360px;margin-top:12px;border-radius:12px;background:#000}
.sw-trim{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.sw-trim label{display:grid;gap:6px}.sw-trim output{font-variant-numeric:tabular-nums;color:#fff}
.sw-frames{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.sw-frames figure{margin:0}.sw-frames img{width:100%;aspect-ratio:16/9;object-fit:contain;background:#000;border-radius:12px}
.sw-frames figcaption{margin-top:5px;font-size:12px;color:var(--s2-muted,#9a9aa6);text-align:center}
.sw-faces{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}.sw-faces button{display:grid;gap:4px;padding:4px;border-radius:14px;border:2px solid transparent;background:none;cursor:pointer;color:var(--s2-muted,#9a9aa6);font:inherit;font-size:12px}
.sw-faces button img{width:120px;height:120px;object-fit:cover;border-radius:10px}.sw-faces button.is-on{border-color:#ff4f8b;color:#fff;box-shadow:0 0 0 3px #ff4f8b33}
.sw-cloud{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 18px;margin-top:14px;padding:14px 16px;border-radius:16px;border:1px solid rgba(236,72,153,.25);background:rgba(236,72,153,.05)}
.sw-cloud .note,.sw-cloud button{grid-column:1/-1}.sw-cloud button{justify-self:start}
.sw-run{display:grid;gap:10px;margin-top:16px;padding:16px 18px;border-radius:16px;border:1px solid var(--s2-line,#2a2735);background:rgba(255,255,255,.025)}
.sw-run.is-live{border-color:#ff4f8b55}.sw-run.is-done{border-color:#34d39955}
.sw-run-top{display:flex;justify-content:space-between;gap:12px;align-items:baseline}.sw-run-top b{font-weight:600;color:#fff}.sw-run-top span{font-variant-numeric:tabular-nums;color:#f5b35c}
.sw-run.is-done .sw-run-top span{color:#34d399}.sw-run-meta{margin:0;color:var(--s2-muted,#9a9aa6);font-size:13px;font-variant-numeric:tabular-nums}
.sw-run .s2-p-realbar{height:8px;border-radius:8px;background:rgba(255,255,255,.08);overflow:hidden}.sw-run .s2-p-realbar i{display:block;height:100%;border-radius:8px;background:linear-gradient(90deg,#ec4899,#8b5cf6);transition:width .8s}
.sw-live{width:min(720px,100%);aspect-ratio:16/9;object-fit:contain;border-radius:12px;background:#000;justify-self:start}
.s2-boot-steps{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:13px}.s2-boot-steps li{display:grid;grid-template-columns:18px 1fr;gap:8px;align-items:center;color:rgba(255,255,255,.45)}
.s2-boot-steps li i{font-style:normal;text-align:center}.s2-boot-steps li.is-done{color:rgba(255,255,255,.75)}.s2-boot-steps li.is-done i{color:#34d399}
.s2-boot-steps li.is-run{color:#fff}.s2-boot-steps li.is-run i{width:12px;height:12px;margin:0 auto;border-radius:50%;border:2px solid rgba(255,255,255,.2);border-top-color:#ec4899;animation:s2spin .8s linear infinite}
.sw-live-wait{display:grid;place-items:center;color:var(--s2-muted,#9a9aa6);font-size:13px;background:linear-gradient(110deg,rgba(255,255,255,.04) 30%,rgba(255,79,163,.14) 50%,rgba(255,255,255,.04) 70%);background-size:220% 100%;animation:s2shim 1.6s linear infinite}
.sw-result{display:grid;gap:10px}.sw-result video{width:min(820px,100%);max-height:460px;border-radius:12px;background:#000}
.sw-log summary{cursor:pointer;color:var(--s2-muted,#9a9aa6);font-size:12.5px}.sw-log ol{margin:8px 0 0;padding-left:18px;font-size:12.5px;color:var(--s2-soft,#c9c6d6);max-height:220px;overflow:auto}.sw-log em{font-style:normal;color:var(--s2-muted,#9a9aa6);margin-right:6px;font-variant-numeric:tabular-nums}
@media (max-width:760px){.sw-two,.sw-trim,.sw-frames,.sw-cloud{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.s2-boot-steps li.is-run i{animation:none}}
.sw-recent{margin-top:12px}.sw-chips{display:flex;flex-wrap:wrap;gap:8px}.sw-chips button{display:grid;gap:3px;width:96px;padding:4px;border-radius:12px;border:2px solid transparent;background:none;color:var(--s2-muted,#9a9aa6);font:inherit;font-size:11px;cursor:pointer;text-align:center}
.sw-chips button img{width:88px;height:88px;object-fit:cover;border-radius:9px;background:#000}.sw-chips button.is-on{border-color:#ff4f8b;color:#fff}.sw-chips button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sw-avatar{margin-top:12px;padding:12px 14px;border-radius:14px;border:1px solid var(--s2-line,#2a2735);background:rgba(255,255,255,.02)}.sw-avatar summary{cursor:pointer;color:#ffb4cc;font-weight:600;font-size:13.5px}
