/* Écran de gestion : ordre d'apparition de l'encadrement (professeurs / assistants). */

.so-intro { max-width: 60ch; margin-bottom: 1.4rem; }

.so-card {
    background: var(--surface-2);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    box-shadow: var(--shadow-sm);
    padding: 1rem 1.25rem 1.25rem;
    max-width: 640px;
}

.so-group-head {
    font-size: 0.72rem; letter-spacing: 0.08em; text-transform: uppercase;
    color: var(--gold); font-weight: 600; margin: 0.4rem 0 0.7rem;
}
.so-group-head-assistants { color: var(--text-muted); }

.so-row {
    display: flex; align-items: center; gap: 0.7rem;
    padding: 0.55rem 0.6rem; margin-bottom: 0.5rem;
    border: 1px solid var(--border); border-radius: var(--radius-sm);
    background: var(--surface-3);
}
.so-row-assistant { background: transparent; border-style: dashed; border-color: var(--border-strong); }

.so-av {
    flex: 0 0 auto; width: 40px; height: 40px; border-radius: 50%;
    display: grid; place-items: center;
    background: var(--gold-soft); color: var(--gold-strong);
    border: 1px solid var(--border-strong); font-weight: 700; font-size: 0.82rem;
}
.so-av-assistant { background: var(--surface-2); color: var(--text-muted); }

.so-who { flex: 1 1 auto; min-width: 0; }
.so-name { font-weight: 600; font-size: 0.9rem; }
.so-sub { font-size: 0.76rem; color: var(--text-muted); }

.so-tag {
    flex: 0 0 auto; font-size: 0.66rem; font-weight: 600;
    letter-spacing: 0.04em; text-transform: uppercase;
    padding: 0.1rem 0.5rem; border-radius: 999px;
}
.so-tag-prof { color: var(--gold-strong); background: var(--gold-soft); border: 1px solid var(--border-strong); }
.so-tag-asst { color: var(--text-muted); background: var(--surface-2); border: 1px solid var(--border); }

.so-arrows { flex: 0 0 auto; display: flex; flex-direction: column; gap: 0.15rem; }
.so-arrows form { margin: 0; line-height: 0; }
.so-arrows button {
    width: 28px; height: 20px; display: grid; place-items: center; padding: 0;
    border: 1px solid var(--border-strong); background: var(--surface-2);
    color: var(--text-muted); border-radius: 6px; cursor: pointer; font-size: 0.7rem;
}
.so-arrows button:hover:not(:disabled) { background: var(--surface-2-hov); color: var(--text); }
.so-arrows button:disabled { opacity: 0.3; cursor: not-allowed; }

.so-lock-note {
    display: flex; align-items: center; gap: 0.45rem;
    font-size: 0.76rem; color: var(--text-faint);
    background: var(--surface-3); border: 1px solid var(--border);
    border-radius: var(--radius-sm); padding: 0.55rem 0.7rem; margin: 0.4rem 0 1rem;
}
.so-lock-note svg { flex: 0 0 auto; opacity: 0.8; }

.so-empty { font-size: 0.85rem; color: var(--text-faint); padding: 0.5rem 0.2rem 0.8rem; }
